数据平面介绍
数据平面由一组以 sidecar 方式部署的智能代理组成。 这些代理可以调节和控制微服务之间所有的网络通信。 数据平面真正触及到对网络数据包的相关操作,是上层控制平面策略的具体执行者。
在服务网格中,数据平面 sidecar 代理主要负责执行如下任务:
- 服务发现:探测所有可用的上游或后端服务实例
- 健康检测:探测上游或后端服务实例是否健康,是否准备好接收网络流量
- 流量路由:将网络请求路由到正确的上游或后端服务
- 负载均衡:在对上游或后端服务进行请求时,选择合适的服务实例接收请求,同时负责处理超时、断路、重试等情况
- 身份验证和授权:对网络请求进行身份验证、权限验证,以决定是否响应以及如何响应,使用 mTLS 或其他机制对链路进行加密等
- 链路追踪:对于每个请求,生成详细的统计信息、日志记录和分布式追踪数据,以便操作人员能够理解调用路径并在出现问题时进行调试
简单来说,数据平面就是负责有条件地转换、转发以及观察进出服务实例的每个网络包。
典型的数据平面实现有:Linkerd、NGINX、HAProxy、Envoy、Traefik
参考
当前内容版权归 ServiceMesher 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ServiceMesher .