解读 | TARS开源项目发布Go语言版本
对于流量控制,服务发布上线主要面对的问题是“如何做对业务无损的服务变更”与“如何做灰度验证”,在 Tars 中,可通过 Registry 和开发框架配合实现按需进行流量控制,达到无损发布和灰度流量的目的。 语言支持方面,除了此前已经支持的 PHP、C++、NodeJS 与 Java,此次还加入了 Golang 支持。 此外,Tars 还提供一个 OSS 平台,可使运营可视化、Web 化。 它主要包含以下特点:
Tars-Go,Tars Go!多语言支持是 Tars 的一大优势,在此之前 Tars 已经推出了 C++、Java、PHP、NodeJS 版本。Go 语言的协程并发机制使它非常适用于大规模高并发后端服务器程序开发,同时随着容器化技术的飞速发展,诸如 Docker、Kubernetes 与 Etcd 等项目兴起,使得 Go 语言越来越流行,并成为云原生的首选语言。Tars 的 Go 语言版本也因此应运而生,此次 Tars-Go 的推出,在大环境整体逐渐走向云原生的当下,意义非凡。 此次新推出的 Go 版本 Tars-Go 整体架构主要可以分为三个部分,如下图所示:
|