# 中间件:注册中心的 5 种技术选型
作者:Tom哥
公众号:微观技术
博客:https://offercome.cn (opens new window)
人生理念:知道的越多,不知道的越多,努力去学
# 什么是注册中心?
分布式架构时代,业务垂直化拆分,衍生出非常多的系统。
举个例子,下图中「服务A」想调用「服务B」的接口,那如何找到「服务B」的地址IP的呢? 一种方式是硬编码,将服务地址写死在A系统的代码里,或者抽取到配置中心。 但是一旦扩容缩容或者服务器故障下线就麻烦了,又要重新去修改代码,极不灵活。
另一种方案,就是今天要讲的 注册中心
注册中心,简单来讲,就是为了解决分布式场景下,服务之间相互发现的问题。
# 1、服务提供者
向注册中心注册自身对外提供的服务,并且定期向注册中心发送心跳状态,报告是否存活
# 2、服务消费者
系统启动时,向注册中心订阅服务,拉取自己需要的服务节点地址列表并缓存到本地,同时与「服务提供方」建立连接池,用于后面的发起服务调用
# 3、注册中心
保存「服务提供者」上报的服务地址等信息,同时还会心跳检测,如果发现某台「服务提供者」机器下线或上线会及时变更本地的地址列表,并将最新的地址列表同步给「服务消费者」