当前位置:网站首页>Alibaba cloud microservices (IV) service mesh overview and instance istio
Alibaba cloud microservices (IV) service mesh overview and instance istio
2022-07-06 13:09:00 【Geometer】
To mention Service Mesh I have to mention microservices , According to Wikipedia
Microservices (Microservices) Is a software architecture style , It is a small functional block focusing on a single responsibility and function (Small Building
Blocks) Based on , Using modularity to compose complex large applications , The use of each functional block has nothing to do with language
(Language-Independent/Language agnostic) Of API Sets communicate with each other
With Google three carriages BIGTABLE,Mapreduce,GFS Appearance , Knock on the door of distributed , Fusing strategy 、 Load balancing 、 The emergence of service discovery , Services have some communication semantics according to business needs , In order to avoid each service developing its own set of communication semantics , There is a micro service framework , for instance Spring Cloud Other framework , They realize the semantic functions required by the distributed system , Like service discovery , Load balancing, etc. , To some extent, the communication details are shielded , So that developers can realize the whole function with less code without considering some problems of communication .
But later , People also found that the microservice framework is not omnipotent , It mainly has the following problems :
1. Developers need to spend a lot of time learning some details of the microservice framework , Because if something goes wrong , It is difficult to troubleshoot and solve problems without understanding the framework
2. Frameworks that use microservices need to use specific languages , This is different from the original features of microservices ---- It has nothing to do with language
To solve this problem , first generation Service Mesh emerge as the times require
It abstracts the communication of distributed system into a separate layer , It is up to him to realize load balancing 、 Service discovery 、 Certificate authority 、 Surveillance tracking 、 Flow control and other functions required by distributed systems , As a proxy service equivalent to a service , Deployed with services , It completes the request between services through the communication between agents .
Pictured , The blue part is the service grid , If you only look at the blue part , It's easy to understand why it's called “Mesh” Is that right ~
later , For unified management , People have derived the second generation Service Mesh, Developed a centralized control panel , All stand-alone components update the network topology strategy and report the data through the control panel , A very classic example is Istio
Istio It consists of two parts : Control plane and data plane .
The data plane is the communication plane between businesses . If there is no service grid , The network cannot understand the traffic being sent , Nor can it be based on what type of traffic it is , Or who it comes from , To whom to make any decision .
The service grid uses agents to intercept all network traffic , Allows you to provide a wide range of application aware functions according to the configuration you set .
The agent is deployed with each service you start in the cluster , Or run with a service running on a virtual machine .
The control plane gets the configuration and service views you need , And dynamically program the proxy server , Update them as rules or environments change .
Use Istio Before
Use Istio after :
Service Mesh Advantages and disadvantages :
advantage :
1. Shielding distributed communication complexity
2. Shielding language
3. Transparent to application layer , Don't need to care about
shortcoming :
1. The communication performance is reduced to a certain extent
2. The overall stability of the service depends on Service Mesh
边栏推荐
- 【无标题】
- 面试必备:聊聊分布式锁的多种实现!
- Error: sorting and subscript out of bounds
- [algorithm] sword finger offer2 golang interview question 10: subarray with sum K
- Abstract classes and interfaces
- [algorithm] sword finger offer2 golang interview question 1: integer division
- [算法] 剑指offer2 golang 面试题10:和为k的子数组
- 十分鐘徹底掌握緩存擊穿、緩存穿透、緩存雪崩
- TYUT太原理工大学2022数据库题库选择题总结
- Music playback (toggle & playerprefs)
猜你喜欢
[算法] 剑指offer2 golang 面试题1:整数除法
MYSQL索引钟B-TREE ,B+TREE ,HASH索引之间的区别和应用场景
[untitled]
C code implementation of robust estimation in rtklib's pntpos function (standard single point positioning spp)
Music playback (toggle & playerprefs)
[算法] 剑指offer2 golang 面试题4:只出现一次的数字
Fundamentals of UD decomposition of KF UD decomposition [1]
Application architecture of large live broadcast platform
Detailed explanation of balanced binary tree is easy to understand
String类
随机推荐
Iterable、Collection、List 的常见方法签名以及含义
First acquaintance with C language (Part 2)
一文搞定 UDP 和 TCP 高频面试题!
Excel导入,导出功能实现
Usage differences between isempty and isblank
How to ensure data consistency between MySQL and redis?
架构师怎样绘制系统架构蓝图?
Tyut Taiyuan University of technology 2022 introduction to software engineering
【GNSS数据处理】赫尔默特(helmert)方差分量估计解析及代码实现
Music playback (toggle & playerprefs)
Ten minutes to thoroughly master cache breakdown, cache penetration, cache avalanche
[algorithm] sword finger offer2 golang interview question 10: subarray with sum K
[GNSS data processing] Helmert variance component estimation analysis and code implementation
染色法判定二分图
167. Sum of two numbers II - input ordered array - Double pointers
最短Hamilton路径 (状压DP)
错误:排序与角标越界
记录:Navicat Premium初次无法连接数据库MySQL之解决
121 distributed interview questions and answers
分支语句和循环语句