服务发现
为什么需要服务发现
在传统的服务架构中,服务之间的依赖关系较为简单,服务部署的位置也通常不会变化。
前段的服务通常配置来发现后端服务具体的IP或端口。比如后端的服务原来部署在10.1.10.2的5522端口上,现在如果想把服务部署在10.1.10.3的5523端口上。
前段和后端都不许要修改,只修改对应的配置文件就可以了。通过管理配置文件就可以很容易实现运维管理。
而现在的微服务中一切都变得复杂些。 提供一个服务后端可能是大量的实例,往往还需要扩容,缩容等。版本的滚动升级等。变化成为一种常态。甚至具体部署在那个机器上都部署固定的,
甚至需要与机器的负载程度,资源利用情况等有关。
如果还使用手动的方式通过修改配置文件来管理就显得繁琐,且容易出错。
服务发现用来做什么
传统方式通过配置来实现前后端的解耦,路由。 频繁大量的对配置的更改已很难满足现在的架构,业务及迭代需求。
服务发现帮你解放双手,后端服务只需在启动的时候注册自己就可以了。服务发现会自动帮你加入到业务复杂中。
结合健康检测,如果后端服务异常可自动剔除。
结合轮询调度实现负载均衡,对前段调度者来说无需关心具体有多少个后端提供服务。逻辑上只有一个,调就完了。