当前位置 : 主页 > 大数据 > 区块链 >

rpc – 微服务之间的通信

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

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

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

Also, I have been doing some reading on how Apache Thrift and RPC’s can help with this. Can anyone elaborate on that as well?

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

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

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

Apache Thrift为您提供可插拔的传输/协议栈,可以通过插入不同的方式快速进行调整

>传输(套接字,HTTP,管道,流,……)
>协议(二进制,紧凑,JSON,……)
>图层(框架,多路复用,gzip,…)

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

回到最初的问题,这样的框架可以帮助使沟通更容易,更有效.但它不能神奇地消除OSI堆栈其他部分的延迟.

网友评论