微服务架构中的关键组件与模式解析
1. 消息代理(Message Brokers)
消息代理可被视为服务间消息的中介。服务不直接向另一个服务发送请求,而是将消息发送给代理。消息主要包含数据、配置,有时还有指令。消息代理是一个独立的服务,常由多个服务组成并作为独立集群运行。其目标是接收消息并通知其他服务,或存储消息直至其他服务拉取。
消息代理具备诸多额外功能,如重试、存储死信队列(DLQ)、监控、临时存储、加密以及控制消息调解的节奏等。从头构建消息代理十分费力,不建议这么做。市场上有多种优秀且经过充分测试的技术,例如:
- Apache Kafka
- RabbitMQ
- Amazon MQ
2. gRPC
gRPC 是现代开源的 Google 远程过程调用(RPC)框架。它允许使用 Protocol Buffers 定义与语言无关的 API。Protocol Buffers 是一种与语言无关的序列化格式,能高效地构建和序列化数据。借助 Protocol Buffers,我们可以在多种编程语言中快速创建客户端和服务器实现。gRPC 框架以 HTTP/2 为底层协议,支持双向流和实时通信等多种功能。虽然简单 API 很直接,但 gRPC 也不难学习。不过,gRPC 框架并非支持所有编程语言。
3. API 网关(API Gateway)
在微服务架构中,服务间通信的标准方式是通过简单 API。API 网关作为微服务架构的入口,接收所有客户端的请求,将其导向目标服务,并将响应返回给客户端。拥有单一入口能让我们完全掌控系统的进出。使用 API 网关可实现以下几类功能:
-
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



