您的位置:首页 > 新闻 > 资讯 > 旅游网站建设模板_营销网页设计_今日广州新闻最新消息_百度权重查询爱站网

旅游网站建设模板_营销网页设计_今日广州新闻最新消息_百度权重查询爱站网

2024/12/23 20:21:06 来源:https://blog.csdn.net/qq_62773260/article/details/142395409  浏览:    关键词:旅游网站建设模板_营销网页设计_今日广州新闻最新消息_百度权重查询爱站网
旅游网站建设模板_营销网页设计_今日广州新闻最新消息_百度权重查询爱站网

1. 什么是注册中心

注册中心是服务实例信息的存储仓库,也是服务提供者和服务消费者进行交互的桥梁。它主要提供了服务注册和服务发现这两大核心功能。

 

我我们看这张服务注册流程图就知道,对于注册中心而言,服务的提供者和消费者都相当于是它的客户端,所以都内嵌了专门与注册中心实现交互的客户端组件。

针对服务的提供者而言,每当服务启动,就会通过这个注册中心的客户端组件,自动将自己注册到注册中心,这就是服务注册过程,有时候也叫服务发布过程。

而对于服务消费者来说,执行的是订阅操作而不是注册操作,也就是说它会对那些自己感兴趣的服务进行订阅,通过订阅操作就能从注册中心中,自动获取那些已经注册的服务提供者信息,这就是服务发现过程。

从图中我们还能发现服务消费者与提供者之间的一个明显差异点,也就是消费者持有一个本地缓存,保存着那些已经获取到的服务提供者的实例信息。

这个本地缓存有两方面的作用。一方面,服务消费者可以先通过查询本地缓存,来快速获取目标服务的实例信息,从而提高服务发现的效率;另一方面,如果注册中心出现不可用或者网络访问出现异常,那么消费者就无法从注册中心中获取服务实例信息,这时候基于本地缓存,也同样可以实现对已注册服务的正常调用。

2.注册信息变更通知机制

一旦服务的运行时状态发生了变更,我们又该如何有效获取这些变更信息呢?

答案:引入变更通知机制

 

变更通知机制是实现注册中心的一大难点,因为这个过程涉及服务提供者、消费者和注册中心三者之间的数据同步问题,想要在分布式环境下实现数据同步是有挑战的。下面我就来给你介绍下两种主流的实现方法,一种是监听机制,一种是轮询机制。

2.1. 监听机制

从架构设计来讲,状态变更管理可以采用注册中心本身具有的发布 – 订阅模式。

因此也就诞生了服务监听机制。它可以用来确保服务消费者能够实时监控服务的更新状态,是一种被动接收变更通知的实现方案,一般是采用监听器和回调机制。

 

我们看服务监听机制图,服务消费者可以对这些具体的服务实例节点添加监听器,当这些节点发生变化时,例如服务 B 的第一个实例变得不可用、服务 C 的第一个实例地址发生变更,或者是服务 D 新增了一个实例 3,那么注册中心就能触发监听器中的回调函数,确保更新通知到每一个服务消费者。

所以很显然,使用监听和通知机制具备实时的数据同步效果。

2.2. 轮询机制

采用轮询机制。这是一种主动拉取策略,即服务的消费者会定期调用注册中心提供的服务获取接口,以此获取最新的服务列表,并更新本地缓存。参考 Eruka,Nacos

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com