近年来的业界架构演进来看,微服务已经逐渐成为趋势。从这张图可以看到,在不同的行业,发布服务的时间间隔各不相同,互联网行业每周发布的占比最高,但是其它行业也有逐渐赶上的趋势。
伴随着微服务架构的这种快速发展节奏,各种开发语言各种类型的微服务开发框架相继出现,我分析了一下当前各家使用微服务框架的情况,可以看到主要分为四种模式:无服务治理类:gRPC、brpc 为代表
单语言带服务治理类:Dubbo、Spring Cloud 为代表,主要适用于 Java 语言
多语言带服务治理类:TARS
Service Mesh:SideCar 模式,仍在发展成熟期
这其中,TARS 在通信框架的基础上支持服务治理能力,同时支持多种编程语言,算是比较另类的选择。讲到这里,我们可以来看看它具体支持怎样的治理能力,在此之前,先了解一下微服务架构是怎样的。
从微服务整体架构上看,它主要分为:接入层、网关层、业务服务层、支持服务层和基础设施层。除此之外,非常重要而又容易被忽略的还有:微服务开发框架、持续交付流水线、端到端工具链、工程实践与规范这些构成整个微服务架构体系的部分,它们都在微服务的架构中发挥着非常重要的作用。
TARS 整体可以分为运营、平台、通信框架、公共组件与统一协议几个大块,用于支持上述微服务架构层次。
简单来讲,运营平台上,TARS 可以支持不同语言服务的管理和运营,同时也支持页面级别服务的创建和发布;而在公共组件上,TARS 提供了非常