AdrianHu99 / NOTES

0 stars 0 forks source link

微服务架构何去何从? #62

Closed AdrianHu99 closed 4 years ago

AdrianHu99 commented 4 years ago

https://www.infoq.cn/article/YjFNsy4j5cVle2WEYNz4

AdrianHu99 commented 4 years ago

垂直拆分 -》水平拆分

AdrianHu99 commented 4 years ago

image

AdrianHu99 commented 4 years ago
  1. 迭代速度变慢
  2. 升级更复杂
  3. 多语言支持会很复杂
AdrianHu99 commented 4 years ago

image image

AdrianHu99 commented 4 years ago

保证了通信协议和数据传输协议的跨语言,不同语言的应用程序就可以无缝地和 Sidecar 进行交与。在应用程序和对应的 Sidecar 部署层面,需要部署在同机(可以是同一台物理机/虚拟机,也可以是同一个 Pod),思考下,如果部署在不同的机器上,就会又引入服务通信交互的问题,那么就会变成无解的难题:为了解决通信交互的问题,又引入新的通信交互的问题。

AdrianHu99 commented 4 years ago

企业想要全面切换到 Service Mesh 并不是一件易事,还有一段路需要走。以 Istio 为例,如果要切换,会面临以下问题:

第一,老服务切换到 Istio 的过程中,由于历史服务使用的框架不同,如何保证老服务的平稳迁移以及新老服务如何无缝交互,是企业面临的第一个难题;

第二,切换到 Istio 后,由于通信链路会变长,必将增加请求的响应延迟,对请求响应延迟极其敏感的业务场景,比如量化交易等场景,增加的请求相应延迟对业务来说是致命的,如何进一步优化处理;

第三,Istio 的 Mixer 功能存在单点瓶颈问题,那么对高并发的业务场景如何突破,是公司需要考虑和解决的问题;

第四,切换到 Istio,将会增加基础设施团队的运维成本,并且遇到业务问题,定位问题涉及到业务研发团队和基础设施研发团队频繁沟通交互,自然成本也会相应增加。