An enterprise message bus is used for designing and implementing the interaction and communication between one or more interacting software applications or services. A messaging architecture is a combination of a common data model, a common command set, and a messaging infrastructure to allow different software services to communicate through a shared set of interfaces.
One of the challenges in the messaging architecture is to monitor and measure the system performance, scalability bottlenecks and reliability in real time operation. Performance metrics, for example, expected event notification latency, utilization and throughput of various components (like event broker), handling of messages of different sizes, are essential to determine the bottlenecks in the design, capacity of the system, optimal configuration and other parameters. Also, the systems need to be continuously monitored and fine-tuned based on the changing requirements in real-time scenarios.
In this paper we will present the process, method and test suite for evaluating the performance, reliability, and quality of a real world implementation of the messaging architecture using different messaging patterns. This paper will cover the following topics:
- Provide an overview of the messaging architecture implementation in the security domain with different messaging patterns (pub-sub, request-response) and communication modes (in process, out of process, out of box)
- Key factors to be considered for performance benchmarking.
- Automation for the benchmark setup, configuration and execution.
- Example test scenarios and results for the performance benchmarking test.