Service Mesh

1. 服务治理

一般来说,服务治理主要关注点划分为几点

  1. 服务注册发现
  2. 动态路由
  3. 负载均衡
  4. 降级熔断限流
  5. 链路追踪

从实现上来说,可以分为代理端架构和客户端架构方案两种

2. 代理端架构

基于网关。应用被隐藏在网关之后,访问请求必须经过网关,由网关进行相应的服务治理操作,然后再由网关将流量路由至后端应用。Nginx、Kong、Kubernetes Ingress等采用此类方案。

优点:应用只需获取网关地址,后端复杂的部署结构完全被屏蔽掉
缺点:中心化架构理念,代理端自身容易成为整个系统的瓶颈,一旦宕机后果非常严重

3. 客户端架构

基于部署在应用端的框架类库进行服务治理操作,以点对点方式访问服务提供者。Dubbo、Spring Cloud等采用此方案。

优点:去中心化
缺点:代码侵入性强,无法支持异构语言。

4. Sidecar

对于既希望零侵入,又需要去中心化的云原生架构而言,Sidecar架构会更加契合
Sidecar是以一个独立的进程启动,可供多台宿主机同时使用,也可以仅供一个应用使用。所有的服务治理功能都有Sidecar接管,应用对外访问时仅访问Sidecar即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容