什么是注册中心?
注册中心主要有三种角色:
● 服务提供者(Provider):在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳汇报存活状态。
● 服务消费者(Consumer):在启动时,向 Registry 订阅服务,把 Registry 返回的服务节点列表缓存在本地内存中,并与 Consumer 建立连接。
● 服务注册中心(Registry):用于保存 Provider 的注册信息,当Provider 节点发生变更时,Registry 会同步变更,Consumer 感知后会刷新本地内存中缓存的服务节点列表。
当Consumer需要调用服务时,直接从本地缓存的服务节点列表中,基于负载均衡算法选择一台 Provider 发起调用。
为什么会有注册中心?
注册中心为Consumer和Provider提供桥梁,使得服务能够被推动,在服务中心出现之前,常用的服务访问方式是通过IP:Port的方式,这就意味着Consumer
● 需要手动的维护所有的服务访问ip地址列表
● 单个服务实现负载均衡需要自己搭建,例如使用nginx负载均衡策略,或者基于容器化多实例部署单个服务,在实例之间做负载均衡。
因此,注册中心的出现可以
● 实现provider与consumer间的解耦合
● 使消费者调用提供者实现负载均衡成为可能
● 使服务提供者可以实现动态扩容
参考链接
https://jishuin.proginn.com/p/763bfbd7255d
https://juejin.cn/post/7068065361312088095