【架构】Service Mesh

文章目录

概述

Service Mesh 公认的定义,是用以处理服务与服务之间通信的专用基础设施层。更本质的理解,它是服务治理平台,是业务逻辑解耦的必然产物,是数字经济背景下企业对研发效能提升的选择。

服务端架构从单体模块化架构,到 SOA(面向服务架构),到经典微服务架构(服务间采用 RPC 通信),到最新的 Service Mesh,就是一个不断强调解耦和复用的演进历程。

  • 单体模块化架构强调业务逻辑按模块划分
  • SOA 强调业务逻辑在应用粒度的复用(水平拆分)
  • 经典微服务架构强调业务逻辑在应用粒度的解耦(垂直拆分)
  • Service Mesh 则强调业务逻辑与服务治理逻辑的分层及解耦

Service Mesh 是所有架构模式中解耦和复用最彻底的,它不仅仅强调业务逻辑的解耦和复用,更强调基础设施的解耦和复用。

传统通过 Spring Cloud 实现服务治理的方式,服务治理与业务逻辑耦合在一起,部署、运维都耦合了微服务本身的操作。比如一个 RPC 框架的 bugfix 会引发所有微服务旷日长久的升级发布,同时带来业务开发人员开发、测试、回归、发布的巨大重复工作量。而 Service Mesh 通过将与业务逻辑无关的服务治理逻辑下沉,让业务开发人员与基础技术开发人员关注点分离,各司其职,大大提升了研发效能。

微服务架构对比

Rainbond与ServiceMesh

ServiceMesh架构框架是工作在网络通信层面提供一系列服务治理功能,包括:

服务发现和负载均衡

高级路由

通信监控和分析

通信安全

对于Rainbond的架构设计来说还通过插件扩展的方式增加以下方面功能:

日志处理

数据备份和恢复

服务运维和监控

服务运行环境保障

Rainbond原生提供全量的ServiceMesh治理功能方案,同时提供了插件化得扩展策略,用户除了使用默认方案以外也可以自定义插件实现。Rainbond与Istio的实现有共同点,也有天然的不同。

相同点是都实现了基于XDS规范实现全局控制层,支持envoy和istio-proxy。

不同点是Istio需要依赖Kubernetes等平台工作,微服务架构的支持需要从底层存储与通信到上层的应用层配置全盘考虑,大型的微服务架构是离开不了自动化管理应用的PaaS平台的。Rainbond从硬件层,通信层,平台层实现不同的控制逻辑,既兼容已有的微服务架构,同时提供了完整的ServiceMesh微服务架构实践。包容的架构形式让已有的应用服务化变得可落地。

Rainbond提供给用户的体验是最大化的透明,即用户将服务运行于Rainbond即已经构成了微服务架构,而无需先学习微服务架构知识,再考虑自己的服务如何改造,最后再落地。
如下图可知,Rainbond的网络治理插件通过Sidecar的方式在应用的同一个网络命名空间,同一个存储空间,同一个环境变量空间内动态启动第三方插件服务,例如envoy服务,通过与Rainbond应用运行时通信完成从应用空间到平台空间的数据交换,实现平台对应用通信的控制。

来源

ServiceMesh微服务架构简介
Service Mesh 深度集成 service mesh 架构
到底什么是 Service Mesh ?如何评价 Service Mesh ?

相关推荐
小丑西瓜6664 小时前
分布式简单理解
linux·redis·分布式·架构·架构演变
郁大锤6 小时前
luci界面开发中的MVC架构——LuCI介绍(二)
架构·mvc
KevinAha8 小时前
软件架构设计:软件工程
架构
码上淘金9 小时前
Apache Flink架构深度解析:任务调度、算子数据同步与TaskSlot资源管理机制
大数据·架构·flink
ITPUB-微风10 小时前
云原生监控体系建设:Kubernetes架构下的全面监控策略
云原生·架构·kubernetes
Twilight-pending12 小时前
DeepSeek 新注意力架构NSA
架构
一位卑微的码农20 小时前
深入解析Spring Cloud Config:构建高可用分布式配置中心
分布式·spring cloud·微服务·架构
专注API从业者1 天前
分布式电商系统中的API网关架构设计
大数据·数据仓库·分布式·架构
uhakadotcom1 天前
Google DeepMind最近发布了SigLIP 2
人工智能·算法·架构
HsuYang1 天前
Vite源码学习(十二)——热更新(下)
前端·javascript·架构