微服务之间的通信

ray*_*ith 6 rpc thrift microservices

假设您有微服务A,B和C,它们当前都通过HTTP进行通信.假设服务A向服务B发送请求,从而产生响应.然后,必须将该响应中返回的数据发送到服务C进行某些处理,最后返回到服务A.服务A现在可以在网页上显示结果.

我知道延迟是实现微服务架构的固有问题,我想知道减少这种延迟的常用方法是什么?

另外,我一直在阅读Apache Thrift和RPC如何帮助解决这个问题.任何人都可以详细说明吗?

Jen*_*nsG 5

此外,我一直在阅读有关Apache Thrift和RPC如何帮助您的内容。任何人都可以对此进行详细说明吗?

像Apache Thrift这样的RPC框架的目标是

  • 大大减少了手动编程的开销
  • 提供有效的序列化和传输机制
  • 跨各种编程语言和平台

换句话说,这允许您将数据作为非常紧凑的写入和压缩数据包通过网络发送,而实现此目标所需的大部分工作都由框架提供。

Apache Thrift为您提供了可插入的传输/协议堆栈,可以通过插入不同的端口来快速调整

  • 传输(套接字,HTTP,管道,流等)
  • 协议(二进制,紧凑,JSON等)
  • 图层(成帧,多路传输,gzip等)

此外,根据目标语言,您将获得一些服务器端基础结构,例如TNonBlocking或ThreadPool服务器等。

因此,回到您的第一个问题,这样的框架可以帮助使沟通更轻松,更高效。但是,它无法神奇地消除OSI堆栈其他部分的延迟。