Abstract

Microservice architecture is a programming method that decomposes a single application into various smaller services and then executes them. However, this approach introduces new challenges in communication between services because of the different data structures and technology types among the multiple services. Therefore, interprocess communication (IPC) between services has become one of the important challenges facing microservice architecture. Additionally, the choice of IPC technology is an important decision that can affect the nonfunctional requirements of the entire architecture. To address this problem, this study proposes a microservice communication technology based on remote procedure calls (RPC) called RPCX to improve the communication performance between services. The RPCX communication mechanism based on RPC uses the nonblocking IO communication model and Protobuf data serialization standard method. It identifies RPC communication at the client and server ends using dynamic proxy and annotation configuration technology. We use RPCX and two traditional service communication technologies to conduct performance stress benchmarking and evaluate the performance of RPCX through the time consumed to process the requests and transactions per second (TPS) performance stress indicators. The results show that the performance of RPCX is better than that of the other two technologies under different threads and requests. In this study, we show that RPCX has overall better performance than the other two service communication techniques under different threads and requests.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call