Message bus
Description of the message bus we use in the BitRepository system.
Message bus requirements
The requirements our message bus solution needs to satisfy
- We need SSL support on the wire protocol
- Topics as well as simple queues should be supported
- Persistent message queues and topics
- We need broad API support from common languages - especially Java and C
- Transformation of data between sender and consumer is not needed
- Handling of timeouts would be nice
- Low complexity
- To ensure robustness, the messaging system should support distribution among multiple physically independent servers
- The bus must be usable "out of the box", programming should not be necessary on the server side
- Messages are exchanged asynchronously
- Message payload should be signed
- High flexibility
Choice of message bus
This is the rationale behind our choice of ActiveMQ as messaging software