当前位置:网站首页>Why learn service grid istio
Why learn service grid istio
2022-07-25 19:20:00 【Zhang quandan, Foxconn quality inspector】
Istio Is running on the kubernetes A service grid on (Service Mesh, Third generation microservice Architecture ), Greatly expanded kubernetes The function of , It can be easily achieved than kubernetes Flow management with finer granularity .
When we are directly in kubernetes When deploying an application , Sometimes it is difficult to realize some special needs , Like the Canary release ( Also known as grayscale publishing ).
Canary publishing works like this , We already have an old version of the application here called v1, Then we will release a new version of the application, which is called v2. But now I don't want all clients to access v2, I just want to open some clients for testing in a small range .
So we can set 90% Traffic forwarded to v1,10% Traffic forwarded to v2. If this 10% User feedback v2 Not bad , Then we can expand our visit v2 Of traffic , Narrow access v1 Of traffic .

And so on , Until all the traffic is gradually transferred to v2 above .
without istio The way of implementation is like this , Create two deployment, One is v1 One v2. They created pod Have the same label for service relation . First v1 Set up 3 Copies ,v2 Set up a copy , such 75% All traffic is forwarded to v1 Yes ,25% Traffic forwarded to v2 On .
Then we can shrink v1 Number of copies , increase v2 To modify the flow direction , Here's the picture .

But the flow control is too rough , And it is too troublesome to maintain .
But we are istio It is very convenient to realize . The following is taken from a VirtualService( Referred to as vs) Part of the code in , We changed it weight You can modify the flow direction .
- destination:
host: svc1
subset: v1
weight: 65
- destination:
host: svc1
subset: v2
weight: 35Here is designated to pod1 Of traffic 65%, Go to pod2 Of traffic 35%, Then look at the flow direction through the figure below .

And then we modify it again weight.
- destination:
host: svc1
subset: v1
weight: 35
- destination:
host: svc1
subset: v2
weight: 65Set here to pod1 go 35% Of traffic , Go to pod2 go 65% Of traffic , And then look at the picture below .

We just need to change the weight You can easily forward to pod Of traffic . In addition to the Canary release above , We want to achieve blue-green deployment 、A/B test 、 Conversation retention 、 Traffic mirroring and other functions can be easily realized , therefore istio Its strength lies in its traffic management .
If we want different clients (Android、windows、firefox、chrome etc. ) Visit different pod On ,istio It can also be easily realized . in addition istio It also provides strong observability , Because we installed kiali, You can also easily see the flow direction .
istio It also provides us with more powerful security management , Including passage AuthorizationPolicy Do more detailed authorization management 、pod Between mTLS Certification, etc , Greatly improved pod The security of .
With the advancement of open source and cloud computing , As the core technology, cloud native microservices have maintained rapid growth ; With the maturity of microservice Technology , Began to penetrate all walks of life . On the one hand, labor costs are rising , It is imperative to adopt micro services to improve R & D efficiency .
边栏推荐
- Talk about 15 tips of SQL optimization
- Imeta | sangerbox: interactive integrated clinical information analysis platform
- Improvement of wechat applet 26 playing music page ②
- 基于PHP的中非南南合作信息交流平台网站建设
- 微信小程序 26 播放音乐页的完善②
- In the first half of the year, the shipment volume has exceeded that of the whole year of last year, and centritec millimeter wave radar has "captured" the international giant
- ThreadLocal Kills 11 consecutive questions
- The difference between QT exec and show
- With 8 years of product experience, I have summarized these practical experience of continuous and efficient research and development
- 解决Win10账户没有了管理员权限
猜你喜欢

ThreadLocal Kills 11 consecutive questions

Use of swift basic codable (jsonencoder jsondecoder)

【刷题记录】21. 合并两个有序链表

Eve - 0day Threat Intelligence

Imperial cms7.5 imitation "question and answer library" question and answer learning platform website source code with mobile version

华为交换机系统软件升级和安全漏洞修复教程

In the first half of the year, the shipment volume has exceeded that of the whole year of last year, and centritec millimeter wave radar has "captured" the international giant

iMeta | Sangerbox: 交互式整合临床生信分析平台

Flutter 小技巧之优化你使用的 BuildContext

聊聊sql优化的15个小技巧
随机推荐
基于Mysql-Exporter监控Mysql
InTouch advanced alarm (alarm filtering)
The bank's wealth management subsidiary accumulates power to distribute a shares; The rectification of cash management financial products was accelerated
这种动态规划你见过吗——状态机动态规划之股票问题(上)
【小程序开发】你了解小程序开发吗?
Common development software download addresses
无惧高温暴雨,有孚网络如何保您无忧?
Youfu network was invited to attend the 2022 national CIO conference and won the title of "CIO trusted brand"
无惧高温暴雨,有孚网络如何保您无忧?
QT compiled successfully, but the program could not run
小程序毕设作品之微信校园维修报修小程序毕业设计成品(8)毕业设计论文模板
KCon 2022 亮点及议程大揭秘!
李宏毅《机器学习》丨1. Introduction of this course(机器学习介绍)
【阅读笔记】《深度学习》第一章:引言
Pyqt5 click qtableview vertical header to get row data and click cell to get row data
Youth, oh, youth
Actual combat of MySQL database design project of online mall system
Use of swift basic codable (jsonencoder jsondecoder)
600000 pieces of data are made from March 1 to March 31. Videodate requires starting time from 00:00 to 24:00 on March 1 to 31, which is only for notes
Talk about 15 tips of SQL optimization