诞生背景

背景

目前微服务架构在业界已经成为技术架构体系的共同选择,微服务具有快速迭代、灰度发布、持续交付及声明式运维的特点。微服务化也是互联网软件产品发展的必然结果,然而传统的微服务框架并不足以应对建设企业业务的挑战。传统微服务有以下问题:

  • 多语言支持困难,不同语言的微服务框架无法有效打通

  • 依赖于大量的代码实现,对于流量治理/链路追踪等功能必须引入SDK,通过代码实现

  • 不同业务部门可能都有自己的一套微服务组件,无法集中治理

意义

为了减少对服务的入侵、提高开发及部署的便捷性的同时进行服务治理,需要有一个统一的技术栈,实现异构系统整合,以及微服务设施下沉,这些功能是传统微服务框架dubbo/springcloud等所无法实现的,由此衍生出了Service Mesh微服务架构。

Service Mesh是处理服务与服务之间通信的专用基础设施层,也就是说这种下沉使得服务治理不再和业务代码融合在一起,而是作为单独的进程进行部署。

Service Mesh以下三个优势:

  • 独立的进程,和业务是解耦的,和应用程序一起部署(sidecar 模式),对业务代码无侵入

  • 具备跨语言特性,不同语言的微服务框架都局限于特定语言,如Dubbo和Spring Cloud其实都是Java技术栈,而Service Mesh具备整合C++、Golang等异构语言应用的能力。

  • 提供了熔断、限流等丰富的微服务服务治理功能。

istio作为业内主流的service mesh框架,可以透明部署到现有的应用程序上,实现了对服务连接,保护,控制和观察的能力。从而降低开发团队压力,让业务团队专注于业务实现,而不需要关注基础设施层。

Last updated