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