A performance study of client-broker-server systems

The role of broker in client-server systems is to accommodate flexible, open, heterogeneous system design and to facilitate fault tolerance and improved performance through load balancing. Some architectural design decisions, such as broker distribution and server replication, strongly affect the system performance. The paper presents alternative client-broker-server architectures and compares their performance by using a combination of measurements and simulation. Broker distribution is found to reduce some of the overheads due to the introduction of brokers into client-server systems, and results in a system that has performance characteristics comparable to that of a pure client-server system. It is shown that in a client-server-broker system employing stateful server replication and using the unicast group communication mechanism for server-state consistency, there is a critical message size beyond which the system incurs degradation in performance.