论文链接:https://www.researchgate.net/publication/346943854_Evaluating_the_Impact_of_Inter_Process_Communication_in_Microservice_Architectures
源码链接:未公布
TL;DR
现实中微服务系统通过不同的方式来实现进程间的通信 inter process communication (IPC),每种方式都有优缺点和trade-offs,论文中通过不同的实验来对比不同 IPC 通信的优缺点,实验证明虽然没有通用的IPC方式适用于所有的场景,但是异步的通信方式普遍优于同步的方式。
State of the Art
- Synchronous Communication (quest/response interaction style)
- REST API
- gRPC
- Asynchronous Communication (services exchange messages with each other)
Implementation
搭建服务架构:
- Product Information Service
- Product Review Service
- Product Recommendation Service
- Product Shipping Service
- Customer Shopping Cart Service
Results and Evaluation
- Performance Efficiency
- Availability
A v a i l a b i l i t y = M T T F M T T F + M T T R M T T F : 故 障 发 生 前 系 统 预 计 运 行 时 间 M T T R : 故 障 发 生 后 系 统 恢 复 时 间 Availability=\frac{MTTF}{MTTF+MTTR} \\ MTTF:故障发生前系统预计运行时间\\MTTR:故障发生后系统恢复时间 Availability=MTTF+MTTRMTTFMTTF:故障发生前系统预计运行时间MTTR:故障发生后系统恢复时间
总结
对调用链定位没有任何用处;