背景
微服务通信过程中,经常出现以下的情况导致目标服务器的地址变化,引发客服端服务调用也跟着修改目标地址。
- 目标服务动态添加机器。
- 目标服务动态下架子机器。
- 目标服务的地址发生改变。
为了能解决上述问题,所以引入了一个服务发现解决方案。服务发现就是在微服务架构的开发中, 一个服务获知和另外一个服务通信细节的过程。而服务发现的具有以下机制:
- 服务发现中心也会维护一个注册表,记录各个微服务的地址,这个是服务发现的核心部分。
- 每个微服务启动的时候,向服务发现中心注册自己的地址。
- 微服务,作为服务发现中心客户端,会定期去服务发现中心同步服务注册表,缓存在本地,定期更新。
- 微服务需要请求其他微服务的时候,会在本地或服务发现中心查询注册表,获得目标地址。
- 如果目标地址有多个,会采用负载均衡算法,选择其中一个。
- 服务发现中心,会检测微服务的在线状态,并把变动通知到各个微服务。
而Nacos服务发现中心正是满足上述机制的解决方案。
相关解决方案
当前服务发现的流行框架:
nacos的功能支持度比