本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理微服务通信中的闲聊
闲聊是指微服务之间的过度通信,由于网络延迟增加,这可能会导致效率低下。对于一个运转良好的系统来说,有效管理聊天是至关重要的。
管理闲聊的一些关键工具是 REST APIs、HTTP 和 APIs gRPC。 APIsREST APIs 提供了一系列高级功能,例如 API 密钥、按客户端限制、请求验证、 AWS WAF 集成或私有 API 端点。HTTP APIs 的设计功能很少,因此价格更低。有关本主题的更多详细信息以及 REST 和 HTTP 中可用的核心功能列表 APIs,请参阅在 RES T APIs APIs 和 HTTP 之间进行选择 APIs。
由于其广泛使用,微服务通常使用基于 HTTP 的 REST 进行通信。但是在高容量情况下,REST 的开销可能会导致性能问题。这是因为通信使用 TCP 握手,这是每个新请求所必需的。在这种情况下,gRPC API 是更好的选择。gRPC 可以减少延迟,因为它允许通过单个 TCP 连接发送多个请求。gRPC 还支持双向流式传输,允许客户端和服务器同时发送和接收消息。这可以提高通信效率,特别是对于大型或实时数据传输。
如果尽管选择了正确的 API 类型,但仍然存在闲聊,则可能需要重新评估您的微服务架构。整合服务或修改域名模型可以减少闲聊并提高效率。
使用协议和缓存
微服务通常使用 gRPC 和 REST 等协议进行通信(参见上一节沟通机制。)gRPC 使用 HTTP/2 进行传输,而 REST 通常使用 HTTP/1.1。gRPC 使用协议缓冲区进行序列化,而 REST 通常使用 JSON 或 XML。为了减少延迟和通信开销,可以应用缓存。诸如 Amazon ElastiCache 或 API Gateway 中的缓存层之类的服务可以帮助减少微服务之间的调用次数。