当前位置:网站首页>我们为什么要远离Service Mesh
我们为什么要远离Service Mesh
2022-08-08 19:07:00 【持续交付实践指南】

注:本文说的是基于Sidecar的Service Mesh。实际上,当前Service Mesh的实现方式也只有Sidecar这种方式。如果有新的Service Mesh的实现方式,我们不排除回归Service Mesh的可能性。
在网上,你会看到关于Service Mesh的各种各样的好处。的确,这些Service Mesh的好处的确是存在的。但是,这些好处是有代价的。
软件行业里为了宣传自己的产品的好处,但是很少提及它的代价,是常态。
我们团队规模不大。业务量也不大。使用Service Mesh整整两年了。我想我们还是有一些发言权的。以下是我总结的Service Mesh的代价:
招人难:你需要招的是同时熟悉K8s和Service Mesh的实现的人,这样的人,像我们这种小团队,根本招不到。特别是现在绝大部分Service Mesh是基于Envoy,这个C++写的proxy。了解Envoy的人,就少之又少了。
升级Service Mesh过程痛苦:Service Mesh的升级依赖于你的K8s的版本,而K8s的版本升级又可能拉扯出N个依赖问题。而且还不能将Service Mesh一次性升得太高级。因为它需要更高级的K8s。
这还只是Service Mesh本身的升级。如果你升级好了Service Mesh,它还要求你的业务应用进行滚动更新,因为业务应用的Pod中的sidecar也要升级。如果团队的配置管理及自动化不成熟,这种痛苦,我认为是加倍的。
对于第2点,现实中肯定很多团队无法接受。因为并不是所有团队都能做滚动更新且不影响业务。
那么,该如何移除Service Mesh呢?以下是我们的过渡方案:

我们会另建一个Namespace2,然后将其它应用逐渐部署到Namespace2。中间通过网关进行代理。当然,并不是说你只能有一个网关。
通过这种渐进的方式,我们的业务不受影响。
为什么中间还要经过一个网关?因为通过网关,我们可以相对低成本的实现金丝雀发布、故障注入等Service Mesh该有的功能。
后记
由于我们绝大部分的配置都是代码化的,且部署也是自动化的。所以,我们的迁移的成本是可以接受的。迁移成本就是要将原来Service Mesh部分的配置转化成网关上的配置。
最后,如果您希望加入“持续交付实践指南”的微信群,可以添加 zhaizhijun0 微信,他会拉你进群。
往期好文推荐:
边栏推荐
- 从 VLAN 到 IPVLAN: 聊聊虚拟网络设备及其在云原生中的应用
- Is it safe to open an account with Qiniu Business School?Is it reliable to open an account?
- PyTorch入门:(三)Transforms的使用
- 文档管理系统对于企业来说有哪些作用?
- Style Design Principles in Open Office XML Format
- 8月报考季,软考选科目避坑指南来啦
- This error is reported when the shake database is started. Is there a problem with the configuration?
- 黑猫带你学Makefile第7篇:Makefile简单例程一览
- PyTorch入门:(五)模型的搭建
- [极客大挑战 2019]BuyFlag&&[HCTF 2018]admin
猜你喜欢
随机推荐
n个数取出r个数排列
Dry goods: design high concurrency architecture from scratch
Is there any function in MAXCOMPUTE SQL to judge whether the string is a number?
Performance optimization | CPU power management from the perspective of ping delay
How is the private key generated by OpenSSH used in putty?
sql server 数据库怎么对插入的日期自动取月份数据?
Rethinking HTAP database caused by rereading GPDB and TiDB papers
01. Preface
挖财学堂帮开通的证券账户是真的吗?安全吗
FastDFS distributed file system
证券开户选哪个券商平台比较好,哪个更安全
USB CY68013设备描述符识别失败
JVM调优-JVM调优实践一
JDBC最详讲解(快速入门)
大学生图书馆网页设计模板代码 DIV布局书店网页作业成品 学校书籍网页制作模板 学生简单书籍阅读网站设计成品
Is it safe to open an account with Qiniu Business School?Is it reliable to open an account?
run fscript with lua
经验分享|低成本快节奏搭建企业知识管理系统的方法
view, index
PyTorch入门:(三)Transforms的使用









