服务注册与发现负载方案选型

  3.新一代的选择

  前面说了那么多,对于服务注册与发现,在普元新一代数字化企业云平台中,我们是怎么实践的?在数字化企业云平台中,我们选择了DevOps这条路来实现我们理想的运营,同时以微服务架构为核心。DevOps的逻辑架构(新一代更多内容,请移步本公众号菜单:纯干货—数字化转型)如图所示:

物联网

  服务注册与发现在DevOps的技术平台中,作为基础框架给上层DevOps后台服

  务使用。

  DevOps的运行视图如图所示:

物联网

  从图中可以看出,微服务之间存在错综复杂的调用关系,SRD主要解决各个微服务之间服务注册与发现的问题。在数字化企业云平台中,我们综合考虑了服务注册与发现几个方案的优缺点,同时结合我们平台的一些特点及技术栈,我们考虑了以下问题:

  如何选择负载方案,我们选择了和方案三类似的负载方案;因为方案三弥补了前面两种方案的优缺点,带来的问题是部署复杂,但是我们采用K8S管理微服务的部署,负载本身的复杂由K8S自己解决了,不需要我们花很多成本解决部署难题。

  在选择客户端主机独立负载的情况下,无法在服务提供者启动时获取到Cluster IP,我们的解决办法是通过域名访问,域名默认和当前应用名保持一致。

  下面是我们服务注册与发现的架构图:

物联网

 

  服务提供者在启动时,将当前应用的域名注册到服务注册表,客户端通过服务注册表拿到服务提供者的服务域名,客户端通过dns解析到Cluster IP,然后发起调用。