假设您有微服务 A、B 和 C,它们当前都通过 HTTP 进行通信。假设服务 A 向服务 B 发送请求,服务 B 得到响应。然后,该响应中返回的数据必须发送到服务 C 进行一些处理,然后最终返回到服务 A。服务 A 现在可以在网页上显示结果。
我知道延迟是实现微服务架构的一个固有问题,我想知道减少这种延迟的一些常见方法是什么?
另外,我还阅读了一些有关 Apache Thrift 和 RPC 如何帮助解决此问题的文章。谁也可以详细说明一下吗?
另外,我还阅读了一些有关 Apache Thrift 和 RPC 如何帮助解决此问题的文章。谁也可以详细说明一下吗?
像 Apache Thrift 这样的 RPC 框架的目标是
- 显着减少手动编程开销
- 提供高效的序列化和传输机制
- 跨各种编程语言和平台
换句话说,这允许您将数据作为非常紧凑的编写和压缩的数据包通过网络发送,而实现这一点所需的大部分工作都是由框架提供的。
Apache Thrift 为您提供了一个可插入的传输/协议堆栈,可以通过插入不同的协议来快速适应
- 传输(套接字、HTTP、管道、流……)
- 协议(二进制、紧凑、JSON...)
- 层(框架、多路复用、gzip,...)
此外,根据目标语言,您可以获得一些服务器端基础设施,例如 TNonBlocking 或 ThreadPool 服务器等。
回到你最初的问题,这样的框架可以帮助使沟通变得更容易、更高效。但它无法神奇地消除 OSI 堆栈其他部分的延迟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)