====== Messaging ======
{{/dokuwiki/lib/images/smileys/fixme.gif|FIXME}} das ist noch ein Schmierzettel für Gedanken
**Übersicht**: Ein Nachrichtenverteilungsdienst, der über Exchanges Nachrichten an Queues verteilen kann. Zwei Arten von Exchanges sollten unterstüzt werden:
* direct: gezielt eine Queue über einen Routing-Schlüssel ansprechen
* fanout: Nachricht an alle Empfänger, die es interessiert verteilen
Das Messaging ermöglicht/vereinfacht das lose Koppeln von Komponenten.
Diese Komponente ist **nicht** für den Echtzeit-Einsatz gedacht.
API:
* connect(connection_options)
* create_exchange(name, type, options)
* delete_exchange(name, type, options)
* list_exchanges()
* create_queue(name, options)
* delete_queue(name, options)
* bind_queue_to_exchange(queue_name, exchange_name, routing_key)
* purge_queue(name)
* subscribe_to_queue(name, callback)
* publish_message(message, exchange, routing_key)
Technologie:
* RabbitMQ - http://www.rabbitmq.com/ - bevorzugt, da schon Erfahrungen vorhanden
* ActiveMQ - http://activemq.apache.org/
* http://mungeol-heo.blogspot.de/2015/01/rabbitmq-vs-activemq.html
TODO Nachrichtenaufkommen abschätzen