Springboot微服务之redis注册中心
之前有讲过使用nacos、eureka、consul、coreDNS、zookeeper才发现自己没有出过相应的例子,这个我后面慢慢补充今天来讲讲redis做为注册中心该如何实现注册中心的概念就是 是网络中的一个机构,它的职责是核实用户数字认证请求然后告诉认证中心(CA)发放认证。对于我们微服务来说,模块与模块直接是独立运行的,拥有自己独立的身份那么这些模块直接怎么协作去完成任务呢?再拿一个例子来
之前有讲过使用nacos、eureka、consul、coreDNS、zookeeper
才发现自己没有出过相应的例子,这个我后面慢慢补充
今天来讲讲redis做为注册中心该如何实现
注册中心的概念就是 是网络中的一个机构,它的职责是核实用户数字认证请求然后告诉认证中心(CA)发放认证。
对于我们微服务来说,模块与模块直接是独立运行的,拥有自己独立的身份
那么这些模块直接怎么协作去完成任务呢?
再拿一个例子来说,开发一套软件,有美工,有测试,有前端,有后端。。。。他们之间怎么去协作完成任务呢?
好,这个时候A成立了一家公司,把提供相应服务的人聚集在一起,然后让他们把自己提供的服务登记在自己的职业技能要求里面,然后开发软件时,是不是就能非常好的定位到某个人负责的东西?这个时候这家公司可以看成是一个注册中心
微服务之间能够互相感知对方的存在,互相通信,就是因为有着注册中心的存在。
好了现在来看看redis作为注册中心的分析
这redis 服务暴露的地址是以key-value形式存在的,当服务上线时,会通过redis客户端发送自身服务信息到redis注册中心进行登记,以及定期进行心跳检测,当消费者上线会进入等待,而生产者上线之后消费者会把生产者服务列表拉取到自己本地。而某一个服务下线时主动调用unRegistry的接口,注销在注册中心登记的令牌 然后删除存储在redis的key-vlue,通知给相关的订阅者
好了之间看看代码吧
这里直接用Springboot+Dubbo+mybatisplus+redis+swagger+mysql实现的
这里只实现简单的功能
然后在redis里面可以非常值观的看到服务注册身份句柄已经存储在了redis里面
可以正常调用
代码就不贴了
我搞个下载地址吧
Springboot+Dubbo+mybatisplus+redis+swagger+mysql实现的-Java文档类资源-CSDN下载
更多推荐
所有评论(0)