Inspirel banner

Programming Distributed Systems with YAMI4

7 Central Services

The YAMI4 library was intentionally designed to allow peer-to-peer messaging - that is, communication patterns that do not require any supportive infrastructure in terms of additional services. This is a big advantage of YAMI4 and enables its use in systems of different levels of complexity, including the simplest client-server systems.

Still, many distributed systems can benefit from a set of centralized services that can be used out-of-the-box as building blocks for administrative purposes or for easier organization of data flow. Four such services are provided for YAMI4:

It is important to state that these services are not obligatory components of any distributed system based on YAMI4, but are provided as ``standard'' components due to their high reusability. Also, since they are themselves built on top of YAMI4 protocol and libraries, these central services can be extended or replaced with alternative implementations without any need to modify user-side libraries.

The following sections describe each of the central services.

7.1 Name Server

7.2 Message Broker

7.3 Queues