-
Notifications
You must be signed in to change notification settings - Fork 4
TC2 RabbitMQ
jrbalderrama edited this page Feb 22, 2018
·
3 revisions
> TODO General informations gathered by running the framework.
#exchanges = 1 + #topics + #clients
(we omit the default exchanges created by rabbitmq).
-
1
: 1 topic exchange for anycast/unicast communication (routing key is used to differentiate between topics)
topic exchange
|---- topic-0 (anycast on topic-0)
|---- topic-1
|---- ....
|---- topic-n
|
|---- topic-0-server-0 (unicast for server-0 in topic-0)
|---- topic-0-server-1
-
#topics
: #topics fanout exchanges used for broadcasting in a topic group (as many queues as servers in the topic groups is bound to this exchange) -
#clients
: #clients direct exchanges used for the replies.
#queues = #topics + #servers + #servers + #clients
-
#topics
: anycast -
#servers
: unicast -
#servers
: fanout on each topic group -
#clients
: reply queues.
#exchanges = 1 + 7 * #topics
Without the default exchanges created by rabbitmq
-
1
: generic controller exchange -
7
: exchanges per topic:
- client-listener
- client-notifier
- client-RPCClient
- client-RPCServer
- 3 replies
#queues = 11 * #topics
-
11
: queues per topic:
- client-RPCClient
- client-RPCClient-fanout
- client-RPCClient-topic
- client-RPCServer
- client-RPCServer-fanout
- client-RPCServer-topic
- controller
- controller-topic
- 3 replies