
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
微服务架构开发随着互联网的不断发展而被越来越多的程序员掌握,今天我们就通过案例分析来简单了解一下,微服务架构通信模式都有哪些类型。
一、RPC调用模式
目前各种微服务通信社区上,很多种支持RPC模式。有同步请求/响应通信机制,例如基于HTTP的REST或GraphQL,或gRPC。或者可以使用异步的、基于消息的通信机制,例如AMQP(高级消息队列协议)或STOMP(简单/流式面向文本的消息传递协议)。此外,还有许多不同的消息格式。这些格式可以是可读的,例如JSON和XML。他们还可以使用更高效的二进制格式,例如Avro或Protobuf。
二、远程过程调用模式
当客户端请求服务时,服务会处理请求并发回响应。虽然一些客户端可能会在等待响应时阻塞,但其他客户端可能具有反应性、非阻塞架构。
三、gRPC
由于HTTP仅提供一组有限的请求方式,因此设计支持多个更新操作的RESTAPI可能具有挑战性。
谷歌推出的跨语言客户端和服务器的框架gRPC可以解决这个问题。使用基于协议缓冲区的IDL定义gRPCAPI,这是Google用于序列化结构化数据的语言设计机制。是一种同步通信机制。使用HTTP/2,客户端和服务器以协议缓冲区格式交换二进制消息。
四、GraphQL
GraphQL解决了使用单个请求获取多个资源的问题。GraphQL主要用于从客户端应用程序查询数据库。在后端,GraphQL向API指定如何将数据呈现给客户端。GraphQL重新定义了开发人员使用API的方式,提供更大的灵活性和更快的上线速度;改进了客户端-服务器交互,使前者能够进行精确的数据请求,并只获得他们需要的数据。
五、使用异步消息传递模式进行通信
使用消息传递时,服务会异步交换消息。基于消息的应用程序通常使用像RabbitMQ这样的消息代理,充当服务之间的中介。服务客户端通过向服务发送消息来向服务发出请求。如果期望响应,服务实例将向客户端发送单独的消息。由于通信是异步的,客户端不会等待响应。相反,客户端是假设不会立即收到响应的。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。