打开我们手机上的各种应用,你会发现,大多应用基本上都是用微服务架构实现的,比如淘宝、微信、微博等都是典型的微服务架构。

微服务架构可以将单一的应用程序划分为一组小的服务,每个服务独立运行在自己的进程中,服务之间互相协调、互相配合。

golang 微服务 调用 java 微服务 go语言微服务架构_go语言

如果要增加某种功能,只需在特定的某种服务中增加该功能,并不影响整体进程的架构,降低了系统耦合性,并提供了更加灵活的服务以及支持敏捷开发和高并发等需求。因此,越来越多的大型应用系统开始采用微服务架构

但在微服务架构中,还必须调用不少服务才能完成这一项功能,因而服务之间如何互相调用就变成微服务架构中的一个关键问题。

不过被多数企业用来构建微服务的Go语言,提供远程过程调用(RPC)的支持:TCP、HTTP、JSONRPC。但Go的RPC包是独一无二的RPC,它和传统的RPC系统不同,它只支持Go开发的服务器与客户端之间的交互,因为在内部,它们采用了Gob来编码。

golang 微服务 调用 java 微服务 go语言微服务架构_微服务架构_02