当前位置:网站首页>Basic mode of service mesh
Basic mode of service mesh
2022-07-04 14:04:00 【51CTO】
according to Service Mesh The development and use of , We can Service Mesh It is divided into two modes .
One 、Sidecar Pattern
stay Service Mesh Early development ,Service Mesh With Sidecar The form of being .Sidecar The model can be regarded as the first generation Service Mesh, There are early representatives of Linkerd and Envoy.Sidecar In mode , The network proxy service is next to the micro service , Provide communication and link governance functions for microservices . therefore , The data plane proxy service is also often referred to as Sidecar.
here , The network proxy service with only the data plane has no control plane , The interaction with external infrastructure services is carried out directly in the network agent service . first generation Service Mesh By adopting Sidecar Pattern , Separate communication and communication link governance functions from microservices , It realizes the sinking and service of communication infrastructure , This also reflects the idea of architecture decoupling , Through decoupling, the burden of microservices is reduced .
Two 、 Second generation Service Mesh Pattern
Sidecar Mode Service Mesh There is a prominent problem , Put all the functions of communication and communication link governance into this proxy service , This causes the data plane agent to be heavy , And because it carries too many features and functions , This makes the update and modification of the data plane agent particularly frequent , Frequent updates and upgrades will increase the probability of agent service problems , Affect the stability of agency services .
meanwhile ,Service Mesh In mode , The data plane agent carries all the traffic of microservice communication , Very high demand for stability , Any failure of this service will have a great impact on the stability of the whole system . In order to solve the contradiction between the above frequent upgrades and stability , Separate the policy and configuration decision logic from the agent service , An independent control plane is formed , This is the second generation Service Mesh.
Second generation Service Mesh The most important sign is the separation of control plane and data plane . Data plane and control plane are not new concepts , Router / Switch and other data communication product architecture , There are control planes running on special processors and multiple independent operation 、 Data plane for routing or switching functions .SDN(Software Defined Network, Software Defined Network ) Separate the data plane from the control plane , The control plane is programmable , Make the network more intelligent 、 Flexible and scalable , Inspired another revolution in network technology .
Second generation Service Mesh Learn from it SDN The idea of , Based on the separation of control plane and data plane , With a perfect control plane :① All agent services are controlled by the control plane , Because the control plane can control the whole system , Therefore, it provides strong control ability and strategy ability ;② Remove the specific control logic from the data plane , Simplify the design of data plane , The data plane does not need to interact with external systems , The data plane completely focuses on the traffic routing and forwarding logic with low change frequency , Improves the stability of the data plane .
3、 ... and 、Service Mesh framework
Second generation Service Mesh The basic architecture of is divided into two parts: data plane and control plane .
- Data plane
The data plane is responsible for the communication between proxy microservices , Specifically including RPC signal communication 、 Service discovery 、 Load balancing 、 Degraded fuse 、 Current limiting, fault tolerance, etc , The data plane can be considered to be Spring Cloud、Dubbo And other language related microservice frameworks. Communication and service governance capabilities are independent of a language independent process , And pay more attention to universality and expansibility . stay Service Mesh in , No longer treat the data plane proxy as an isolated component , Instead, these agents are connected together to form a global distributed network .
- Control plane
The control plane is responsible for managing the data plane , Define service discovery 、 route 、 flow control 、 Telemetry statistics and other strategies , These policies can be global , It can also be specified separately by configuring a data plane node . The control plane sends the policy to each data plane node through a certain mechanism , Data plane nodes use these strategies when communicating .
边栏推荐
- markdown 语法之字体标红
- 中邮科技冲刺科创板:年营收20.58亿 邮政集团是大股东
- 30:第三章:开发通行证服务:13:开发【更改/完善用户信息,接口】;(使用***BO类承接参数,并使用了参数校验)
- 【R语言数据科学】:交叉验证再回首
- Yingshi Ruida rushes to the scientific and Technological Innovation Board: the annual revenue is 450million and the proposed fund-raising is 979million
- Golang 使用 JSON unmarshal 数字到 interface{} 数字变成 float64 类型(转)
- WS2818M是CPC8封装,是三通道LED驱动控制专用电路外置IC全彩双信号5V32灯可编程led灯带户外工程
- 392. 判断子序列
- .Net之延迟队列
- C语言中学生成绩管理系统
猜你喜欢
Haproxy high availability solution
软件测试之测试评估
安装Mysql
Openharmony application development how to create dayu200 previewer
2022 Shandong Province safety officer C certificate examination question bank and online simulation examination
源码编译安装MySQL
Summary of recent days (non-technical article)
锐成芯微冲刺科创板:年营收3.67亿拟募资13亿 大唐电信是股东
博士申请 | 西湖大学学习与推理系统实验室招收博后/博士/研究实习等
Distributed base theory
随机推荐
吃透Chisel语言.07.Chisel基础(四)——Bundle和Vec
安装trinity、解决报错
golang fmt.printf()(转)
WS2811 M是三通道LED驱动控制专用电路彩灯带方案开发
【R语言数据科学】:交叉验证再回首
xshell/bash/zsh 等终端鼠标滚轮乱码问题(转)
MySQL5免安装修改
C语言课程设计题
OpenHarmony应用开发之如何创建DAYU200预览器
数据库公共字段自动填充
MySQL8版本免安装步骤教程
吃透Chisel语言.10.Chisel项目构建、运行和测试(二)——Chisel中生成Verilog代码&Chisel开发流程
Interview disassembly: how to check the soaring usage of CPU after the system goes online?
Unittest框架之断言
吃透Chisel语言.05.Chisel基础(二)——组合电路与运算符
【Antd】Antd 如何在 Form.Item 中有 Input.Gourp 时获取 Input.Gourp 的每一个 Input 的value
自主工业软件的创新与发展
go vendor 项目迁移到 mod 项目
Variable promotion and function promotion in JS
JVM memory layout detailed, illustrated, well written!