之前有讲过使用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下载

   

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐