Basic concepts of distributed system
A queue, also referred to as a message queue, is a specified location where messages can be transmitted. Until they are retrieved by programs that handle those queues, messages build up on queues. Queues are located in a queue manager, who also oversees them. To communicate with another program, messages are held in a predetermined queue. The message is retrieved from the queue by the other application, which then handles the requests and data it contains.
The list below includes a number of applications for message queuing:
• Financial services that are essential to the business, like e-commerce.
• Applications for embedded and handheld devices, such as the underlying communications to and from embedded devices that use an automatic baggage system to move luggage through airports
In the publisher/subscriber system each application that is interested receives a copy of every message that is published by a publishing application. There could be several, one, or no applicants that are interested. An interested application is referred to as a subscriber in publish/subscribe, and the messages are queued on a queue that is identifiable by a subscription. You can separate the information supplier from the information consumers using publish/subscribe messaging. For information to be sent and received, the sending application and receiving application do not need to know as much about one another. A mailing system that is easily scaled, highly available, and robust can use this message technique. A high-performance mailing system using Apache Kafka as an internal sub-system messaging can overcome the performance problems using this queueing mechanism.
RPC assumes the use of a low-level transport protocol, such as User Datagram Protocol (UDP) or Transmission Control Protocol/Internet Protocol (TCP/IP), to deliver the message data between interacting applications. In order to facilitate network applications, RPC implements a logical client-to-server communications mechanism. Examples of RPCs include: REST APIs, HTTP requests in general, SOAP APIs, websocket calls, database queries. RPC calls are primarily used to enable the partitioning of a system into various components that operate in their own address spaces. For the sake of security, adaptability, maintainability, or scalability, this may be done. For flexibility, remote procedure calls, for instance, enable the use of several programming languages in various system components. For instance, a database engine may be developed in C++, while business logic may be implemented in Java or Python.
(Cansever et al., 2018; Introduction to Message Queuing, n.d.; Message Queuing (MSMQ), n.d.; Remote Procedure Call, n.d.; What Is a Message Queue? — Definition from Techopedia, n.d.; What Is RPC? | Overview and Complete Guide on RPC with Advantages, 2019)
References
Cansever, A., Özel, U., Akın, Ö., Özmez, A., Gönen, F. F., Altuntas Sen, G., Kalaycı, S., & Çolak, U. (2018, October 1). A Distributed Message Queuing Mechanism for a Mailing System with High Performance and High Availability. IEEE Xplore. https://doi.org/10.1109/CEIT.2018.8751821
Introduction to message queuing. (n.d.). Www.ibm.com. Retrieved July 28, 2022, from https://www.ibm.com/docs/en/ibm-mq/8.0?topic=overview-introduction-message-queuing
Message Queuing (MSMQ). (n.d.). Docs.microsoft.com. Retrieved July 28, 2022, from https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)
Remote Procedure Call. (n.d.). Www.ibm.com. https://www.ibm.com/docs/en/aix/7.1?topic=concepts-remote-procedure-call
What is a Message Queue? — Definition from Techopedia. (n.d.). Techopedia.com. https://www.techopedia.com/definition/25971/message-queue
What is RPC? | Overview and Complete Guide on RPC with Advantages. (2019, December 31). EDUCBA. https://www.educba.com/what-is-rpc/