Github user jbertram commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1077#discussion_r105224076
--- Diff: docs/user-manual/en/address-model.md ---
@@ -0,0 +1,585 @@
+# Apache ActiveMQ Artemis Addressing and Queues
+
+Apache ActiveMQ Artemis has a unique addressing model that is both
powerful and flexible and that offers great performance. The addressing model
comprises three main concepts: addresses, queues and routing types.
+
+An address represents a messaging endpoint. Within the configuration, a
typical address is given a unique name, 0 or more queues, and a routing type.
+
+A queue is associated with an address. There can be multiple queues per
address. Once an incoming message is matched to an address, the message will be
sent on to one or more of its queues, depending on the routing type configured.
Queues can be configured to be automatically created and deleted.
+
+A routing type determines how messages are sent to the queues associated
with an address. A Apache ActiveMQ Artemis address can be configured with two
different routing types.
+
+Table 1. Routing Types
+
+| If you want your messages routed toâ¦â
| Use this routing type â¦â |
+| :----------------------------------------------------------------------:
| :---------------------: |
+| A single queue within the matching address, in a point-to-point manner.
| Anycast |
+| Every queue within the matching address, in a publish-subscribe manner.
| Multicast |
+
+--------------------------------------------------------------------------------------------
+**Note:** It is possible to define more than one routing type per address,
but this typically results in an anti-pattern and is therefore not recommended.
If an address does use both routing types, however, and the client does not
show a preference for either one, the broker typically defaults to the anycast
routing type.
+The one exception is when the client uses the MQTT protocol. In that case,
the default routing type is multicast. |
+
+## Background (Protocol Managers and Addresses)
--- End diff --
IMO, this section would be better near the bottom of the document. It gets
into the implementation weeds a bit.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---