首页 > 其他 > 详细

基于OpenResty与Consul实现服务网格ServiceMesh

时间:2019-10-21 15:08:24      阅读:166      评论:0      收藏:0      [点我收藏+]

 

一、逻辑架构

 技术分享图片

1、基于OpenResty开发智能代理,利用其动态可编程特性,动态化配置nginx服务路由。

2、可能需要向OpenResty添加weibo开源的upsync服务发现模块。

3、基于consul建设微服务注册中心集群。

4、服务网格中的每个node包括至少一个智能代理,若干个微服务,各个node和注册中心一起构成一个服务网格

5、每个微服务启动时需向注册中心上报自身服务信息,包括ip,端口,服务名等。

6、智能代理根据自身的配置和需求从注册中心pull相应的动态服务列表信息,并在本地落地做兜底,防止注册中心不可用的情况。

7、至此,对于每个微服务:

1)对外访问可通过要访问的服务名由智能代理提供upstream动态负载均衡访问。

2)对外提供服务则只需在启动时调用rest API向注册中心集群提供自身服务信息即可。

 

二、组件功能需求

1、智能proxy

(1)配置并存放服务注册中心URL、配置本node需要的外部服务list

(2)负责发送(转发)本node上各个service的服务注册请求到服务注册中心。

(3)根据外部服务list到服务注册中心动态获取服务详细信息,通过openresty内嵌lua脚本动态生成本地配置locationproxy_passupstream等,供本node节点的service调用。

2、服务注册中心

(1)存储各service服务信息。

(2)高可用、无单点故障问题。

(3)有统一的管理界面用于各个nodeservice的查看、健康监控等。

(4)提供rest API用于服务的注册、服务删除等。

 

基于OpenResty与Consul实现服务网格ServiceMesh

原文:https://www.cnblogs.com/lyhero11/p/11713252.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!