### 前言

接触 servicemesh 有一段时间了,越来越觉得这个东西在当前场景下是个可有可无的东西。

于是问了下 GPT ,servicemesh 解决了啥问题,以下是他的回答以及我的想法:

1.服务发现和负载均衡
在微服务架构中,服务实例可能会动态增加或减少。Service Mesh 负责服务发现和负载均衡,确保请求能够被路由到健康的实例上。

**事实上,公司里有非常可靠的注册中心(独立团队维护),这个部分根本用不到 Service Mesh 。**

2.安全性
Service Mesh 提供了服务间通信的安全性,包括加密、认证和授权。例如,它可以通过 mTLS ( Mutual TLS )来确保服务间通信的加密和身份验证。

**事实上,公司里使用很多私有协议,而且安全这块也有单独的团队。**

3.可观察性
Service Mesh 提供了对服务间通信的详细监控和跟踪,包括请求的延迟、错误率和流量分布等。这有助于快速诊断和解决问题。

**这个我理解,常规的分布式链路工具就能做这个**

4.流量管理
Service Mesh 可以实现复杂的流量管理策略,例如熔断、限流、重试和超时等。这有助于提高系统的稳定性和可靠性。

**熔断限流或许可以,但是流量代理私自做重试显然会有潜在幂等性等问题,没必要放在这里做**

5.故障注入和测试
Service Mesh 允许在生产环境中进行故障注入和测试,以验证系统的鲁棒性和容错能力。这有助于提前发现潜在问题。

**这一块了解不多,但是我理解 Service mesh 能过的故障注入应该很有限,Linux 有成熟的网络注入工具 TC ,公司里有很成熟的故障注入工具,包括但不限于网络故障注入**

6.策略管理
Service Mesh 提供了一个集中化的地方来管理和应用各种策略,例如安全策略、流量管理策略和访问控制策略等。

**算优点吧,但也是致命的缺点,当前应用规模非常大,Istio 的控制面就算抗的住,一旦 Crash 问题影响很大**

7.平台无关性
Service Mesh 独立于应用代码,这意味着你可以在不同的编程语言和框架中使用它,而无需修改代码。这使得它特别适合多语言、多框架的微服务环境。

*这一点比较困惑,只要预定好通信协议,应该就没有这个问题。Service Mesh 顶多就是做协议转换,事实上,公司里开发基座基本是统一的,协议转换完全可以在基座中实现。*

**综上所述,Service Mesh 在上述提到的场景里,完全没有必要上,硬上还有风险,此外还要占用额外的 CPU 等资源**

大家场景里,ServiceMesh 有什么刚需场景吗
举报· 361 次点击
登录 注册 站外分享
22 条回复  
povsister 小成 2024-10-10 20:12:02
适合超大规模的条件下,业务和机架分离。
举个例子,DB 访问,缓存中间件访问,服务发现,trace 等等这些东西全在 sidecar 里,鸡架更新对于业务完全无感。
dk7952638 小成 2024-10-10 20:48:11
项目可能完全没必要上,但面试的时候必须上,大上特上!
yichya 小成 2024-10-10 20:49:29
如果贵司已经是这也有那也有了的话那当然是没必要硬上。。。但是 mesh 的技术中立好处在于,在其上引入一套新的技术栈(包括对应的实现:服务发现、内网通信、tracing 、熔断 / 限流等日常治理之类)都几乎不需要侵入到业务中,如果用传统的方式开发的话需要基础架构提供一整套对应技术栈需要的 SDK ,这种对于技术栈很复杂的情况会很有意义
yannxia 小成 2024-10-10 20:52:30
ServiceMesh 本身不是刚需产品,整体上还是偏向于过渡态的,比如现在团队很杂,没有统一的 SDK ,有些调度策略没办法统一实现,那么 ServiceMesh 就很有必要,可以帮你解决问题,但是如果团队基建都很 Nice ,那确实不需要。
这是一个量体裁衣的事情。
zaunist 小成 2024-10-10 23:05:39
如果需要晋升,那就大上特上
mooyo 小成 2024-10-10 23:56:31
之前的项目大规模用过 istio ,我的感受是完全没有必要。。。而且运维成本很高,线上问题很难处理。
RicardoY 小成 2024-10-11 00:56:06
service mesh 的主要优势是把服务发现,流量路由,协议转换和服务治理这些东西完全和业务服务解构。
举个简单的例子,你是架构,想上一个新的治理规则,但是你们一共有 1000 个微服务,其中有 600 个微服务需要升级框架才能支持。这种时候如果没有 service mesh ,可能全公司数十个团队要花数千个 PD 才能完成框架版本的收敛并增加这个治理规则,而如果用了 service mesh ,架构侧分批升级 sidecar 并下发规则就可以了。
GooMS 小成 2024-10-11 01:52:42
微服务的一整套都是刷 kpi
vhwwls 小成 2024-10-11 02:42:10
我也是这样想的,个人觉得中国九成的公司只靠 Spring Cloud Alibaba 的 Nacos 那一套,就可以完成大部分微服务治理的需求,istio 最显著的一个实际意义是在公司前期的基础设施做的比较脏乱差的情况下,起到一个抹平不同时间线,不同业务向的技术栈差异的作用。
123下一页
返回顶部