什么是 Go chassis
go chassis 是一个 go 语言微服务开发框架,专注于云原生应用的开发,我们主要的使用场景是云服务开发。我们将自己在云服务开发过程中沉淀的能力融入到了开发框架中,以帮助开发团队快速编写云原生应用。
文章目标
本文介绍我们的设计理念和目标,为何 go chassis 会诞生。后面的系列文章会着重介绍使用方法,项目实战。对于微服务架构模式,云原生要素,为什么选择 go 语言等将不再过多赘述。
诞生背景
公司开发云服务,要构建健壮,韧性,安全,高可靠的云服务,必然有大量基础能力需要编写,为了加速开发,我们将这些能力便沉淀在了该框架中。为什么呢?我们希望加速每一个组件也就是微服务的开发速度。有的人看到的只是冰山一角,真的要达成微服务架构模式的愿景,其实需要繁重的工作量。就像冰山那样,我们要将通用能力沉淀下去,能够复用。如果让各个业务团队同时照顾冰山上下,各自开发各自的,那结果将是灾难性的,企业用人成本极高。
在业务交付的过程中,各个云团队有大量的管理服务需要对接,每个团队都在写重复的代码,通过框架能力,将交付职责分离,减少开发成本:
如何快速开发一个微服务
可以跟随这个文档体验: https://github.com/go-chassis/go-chassis/edit/master/docs/getstarted/install.md
统一治理和协议模型
想要复用统一的一套能力,我们自然要先统一模型。我们使用 Invocation 概念来统一协议描述,当协议请求到来后,g