gRPC或者Dubbo-go

一个高性能的开源通用 RPC 框架 https://grpc.io/ RPC可以解决跨语言调用的问题。随着微服务场景的大范围应用,多语言场景越来越普遍,开发人员更愿意使用更适合的语言,来实现一个复杂系统的不同模块。例如使用 C 来编写网关,使用 Go 来编写 K8S 资源 operator,使用 Java 来编写业务应用。语言与场景并不是绑定的,企业往往可以结合自身发展的技术栈、开发人员的专长,来选型合适的语言。

在多语言场景中,跨语言调用能力就显得十分重要。

跨语言能力本质上是 【网络协议】 提供的能力。如何方便地让用户使用需要的网络协议、针对合适的跨语言场景进行开发、享受 Dubbo 生态的服务治理能力,是 Dubbo-go 服务框架所关心的。

NATS

自适应边缘与分布式系统的连接技术 https://nats.io/

couldevent

用通用方式描述事件数据的规范 https://cloudevents.io/

dubbo-go

Operator

Apisix

skywalking

Protocol buffers

谷歌的平台无关、语言无关的可扩展的序列化协议,高压缩率,高速,简单。提供根据配置文件(.proto)自动生成各种语言对应的实体类,包括 一些常用的方法,如读写数据流,在不同的语言中的序列化与反序列化,检查数据存在与否,从数据中提取单独的字段。扩展性、兼容性好,你可以更新数据结构,而不影响和破坏原有的旧程序

开源参考书

《大教堂与集市》