文章目录
- 一、什么是服务网格 Service Mesh
-
- 1.1 主要概念
-
- 1.1.1、容器组织框架(Container orchestratiob framework )
- 1.1.2、Service 与 Service 实例(Service Instance )
- 1.1.3、Sidecar 代理(Sidecar Proxy)
- 1.1.4、服务发现(Service discovery)
- 1.1.5、负载均衡(Load balancing)
- 1.1.6、加密(Encryption)
- 1.1.7、认证与权限(Authentication and Authorization)
- 1.1.8、支持熔断器模式(Support for the circuit breaker pattern)
- 二、什么是 Istio
- 三、Istio 的核心组件
一、什么是服务网格 Service Mesh
服务网格(Service Mesh),最早使用由开发 Linkerd 的 Buoyant 公司提出,并在内部使用。
2016 年 9 月 29 日第一次公开使用这个术语。
2017 年的时候随着 Linkerd 的传入,Service Mesh 进入国内技术社区的视野。
服务网格( Service Mesh )是指用于微服务应用的可配置基础架构层,功能在于处理服务间通信,职责是负责实现请求的可靠传递。在实践中,服务网格通常实现为轻量级网络代理,通常与应用程序部署在一起,但是对应用程序透明。
服务网格提供了诸如服务发现、负载均衡、加密、身份鉴定、授权、支持熔断器模式等一系列功能。
1.1 主要概念
1.1.1、容器组织框架(Container orchestratiob framework )
容器组织框架用于监控和管理一系列容器的独立工具。
1.1.2、Service 与 Service 实例(Service Instance )
确切来讲,开发者创建的并非是一个 Service,而是一个由 Service 定义的或者框架定义的实例。
1.1.3、Sidecar 代理(Sidecar Proxy)
Sidecar Proxy 指专注于每个具体的 Service 实例的一个代理实例。它与其他的 Sidecar Proxy 通讯并由容器组织框架( 比如 Kubernetes )进行统一管理。
1.1.4、服务发现(Service discovery)
当一个实例需要与其他 Service 进行通讯时,它需要寻找并发现( find & discovery )另一个健康、可用的 Service 实例。容器管理框架( container managment framework ) 维护着一个时刻准备接收请求的实例列表。
1.1.5、负载均衡(Load balancing)
在一个服务网格中,负载均衡自底向上工作。由服务网格维护的可用实例列表可以进行打分、评级、并选出“最闲”的 Service,这就是在高层次上的负载均衡。