当前位置:网站首页>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
边栏推荐
- [算法] 剑指offer2 golang 面试题10:和为k的子数组
- [algorithm] sword finger offer2 golang interview question 2: binary addition
- PRIDE-PPPAR源码解析
- Fairygui bar subfamily (scroll bar, slider, progress bar)
- 2年经验总结,告诉你如何做好项目管理
- TYUT太原理工大学2022软工导论简答题
- 初识C语言(下)
- Record: Navicat premium can't connect to MySQL for the first time
- 一文搞定 UDP 和 TCP 高频面试题!
- 记录:Navicat Premium初次无法连接数据库MySQL之解决
猜你喜欢

继承和多态(上)

MySQL shutdown is slow

What are the advantages of using SQL in Excel VBA

TYUT太原理工大学2022数据库大题之数据库操作

How to ensure data consistency between MySQL and redis?
![Fundamentals of UD decomposition of KF UD decomposition [1]](/img/e9/564e0163c3756c0ba886913f1cfaef.jpg)
Fundamentals of UD decomposition of KF UD decomposition [1]

Detailed explanation of balanced binary tree is easy to understand

Inheritance and polymorphism (I)
![[算法] 劍指offer2 golang 面試題2:二進制加法](/img/c2/6f6c3bd4d70252ba73addad6a3a9c1.png)
[算法] 劍指offer2 golang 面試題2:二進制加法
![[算法] 剑指offer2 golang 面试题9:乘积小于k的子数组](/img/65/fc3fb5a217a3b44f506b695af53e2c.png)
[算法] 剑指offer2 golang 面试题9:乘积小于k的子数组
随机推荐
Error: symbol not found
C code implementation of robust estimation in rtklib's pntpos function (standard single point positioning spp)
Redis介绍与使用
Chromatic judgement bipartite graph
Record: newinstance() obsolete replacement method
[算法] 剑指offer2 golang 面试题6:排序数组中的两个数字之和
Usage differences between isempty and isblank
165. Compare version number - string
Wechat applet development experience
【快趁你舍友打游戏,来看道题吧】
Basic DOS commands
【干货】提升RTK模糊度固定率的建议之周跳探测
国企秋招经验总结
Implementation of Excel import and export functions
Dark chain lock (lca+ difference on tree)
[rtklib] preliminary practice of using robust adaptive Kalman filter under RTK
[algorithm] sword finger offer2 golang interview question 6: sum of two numbers in the sorting array
初识C语言(上)
3月15号 Go 1.18 正式版发布 了解最新特色以及使用方法
Inheritance and polymorphism (I)