AWS amazon-mq documentation change
Summary
Simplified network of brokers documentation by removing topology examples, restructuring content, and focusing on core functionality of network connectors. Removed detailed configuration examples and topology diagrams while adding explanations about duplex/non-duplex connections.
Security assessment
No security vulnerabilities or weaknesses are addressed. The existing security note about avoiding password attributes in network connectors remains but wasn't added in this change. Changes focus on content reorganization and simplification rather than security aspects.
Diff
diff --git a/amazon-mq/latest/developer-guide/network-of-brokers.md b/amazon-mq/latest/developer-guide/network-of-brokers.md index 2c1b91493..6a10bed33 100644 --- a/amazon-mq/latest/developer-guide/network-of-brokers.md +++ b/amazon-mq/latest/developer-guide/network-of-brokers.md @@ -5 +5 @@ -How does a network of brokers work?How Does a Network of Brokers Handle Credentials?Network of brokers topologiesCross regionDynamic Failover With Transport Connectors +How does a Network of Brokers work?How Does a Network of Brokers Handle Credentials?Cross regionDynamic Failover With Transport Connectors @@ -11 +11 @@ Amazon MQ supports ActiveMQ's network of brokers feature. -A _network of brokers_ is comprised of multiple simultaneously active [single-instance brokers](./amazon-mq-broker-architecture.html#single-broker-deployment) or [active/standby brokers](./amazon-mq-broker-architecture.html#active-standby-broker-deployment). You can configure networks of brokers in a variety of topologies (for example, _concentrator_ , _hub-and-spokes_ , _tree_ , or _mesh_), depending on your application's needs, such as high availability and scalability. For instance, a hub and spoke network of brokers can increase resiliency, preserving messages if one broker is not reachable. A network of brokers with a concentrator topology can collect messages from a larger number of brokers accepting incoming messages, and concentrate them to more central brokers, to better handle the load of many incoming messages. +A network of brokers is comprised of multiple simultaneously active single-instance brokers or active/standby brokers. Creating a network of brokers can increase availability, fault tolerance, and load balancing with multiple broker instances. @@ -13 +13 @@ A _network of brokers_ is comprised of multiple simultaneously active [single-in -For a tutorial and detailed configuration information, see the following: +## How does a Network of Brokers work? @@ -15 +15 @@ For a tutorial and detailed configuration information, see the following: - * [Creating and Configuring a Network of Brokers](./amazon-mq-creating-configuring-network-of-brokers.html) +A network of brokers is established by connecting one broker to another using _network connectors_. A network connector provides on-demand message from one broker to another. Network connectors are configured in the broker configuration as either _non-duplex_ or _duplex_ connections. For non-duplex connections, messages are forwarded only from one broker to the other. For duplex connections, messages are forwarded both ways between both brokers. @@ -17 +17 @@ For a tutorial and detailed configuration information, see the following: - * [Configure Your Network of Brokers Correctly](./best-practices-activemq.html#network-of-brokers-configure-correctly) +If the network connector is configured as duplex, messages are also forwarded from _Broker2_ to _Broker1_. For example, here is a duplex networkConnector entry in a broker configuration: @@ -19,48 +19 @@ For a tutorial and detailed configuration information, see the following: - * `[networkConnector](./child-element-details.html#networkConnector)` - - * `[networkConnectionStartAsync](./permitted-attributes.html#networkConnectionStartAsync)` - - * [Networks of Brokers](http://activemq.apache.org/networks-of-brokers.html) in the ActiveMQ documentation - - - - -The following are benefits of using a network of brokers: - - * Creating a network of brokers allows you to increase your aggregate throughput and maximum producer and consumer connection count by adding broker instances. - - * You can ensure better availability by allowing your producers and consumers to be aware of multiple active broker instances. This allows them to reconnect to a new instance if the one they're currently connected to becomes unavailable. - - * Because producers and consumers can reconnect to another node in the network of brokers immediately, and because there's no need to wait for a standby broker instance to become promoted, client reconnection within a network of brokers is faster than for an [active/standby broker for high availability](./amazon-mq-broker-architecture.html#active-standby-broker-deployment). - - - - -###### Topics - - * How does a network of brokers work? - - * How Does a Network of Brokers Handle Credentials? - - * Network of brokers topologies - - * Cross region - - * Dynamic Failover With Transport Connectors - - - - -## How does a network of brokers work? - -Amazon MQ supports the ActiveMQ network of brokers feature in a number of ways. You can edit the parameters within each broker's configuration to create a network of brokers, just as you would with native ActiveMQ. - -A network of brokers is established by connecting one broker to another using network connectors. Once connected, these brokers provide message forwarding. For instance, if _Broker1_ establishes a network connector to _Broker2_ , messages on _Broker1_ are forwarded to _Broker2_ if there is a consumer on that broker for the queue or topic. If the network connector is configured as `duplex`, messages are also forwarded from _Broker2_ to _Broker1_. Network connectors are configured in the broker _configuration_. See, [Amazon MQ Broker Configuration Parameters](./amazon-mq-broker-configuration-parameters.html). For instance, here is an example `networkConnector` entry in a broker configuration: - - - <networkConnectors> - <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> - </networkConnectors> - -A network of brokers ensures that messages flow from one broker instance to another, forwarding messages only to the broker instances that have corresponding consumers. For the benefit of broker instances adjacent to each other within the network, ActiveMQ sends messages to _advisory topics_ about producers and consumers connecting to and disconnecting from the network. When a broker instance receives information about a consumer that consumes from a particular destination, the broker instance begins to forward messages. For more information, see [Advisory Topics](https://activemq.apache.org/advisory-message.html) in the ActiveMQ documentation. +You can use both non-duplex and duplex connections in a network of brokers. You may want to introduce a duplex connection to another broker to improve traffic, or to avoid a limit increase. Duplex connections are also useful for partial migration from on-premises to Amazon MQ managed brokers. @@ -76,106 +28,0 @@ Don't specify the `password` attribute for the `<networkConnector>`. We don't re -Brokers must be in the same VPC or in peered VPCs. For more information, see [Prerequisites](./amazon-mq-creating-configuring-network-of-brokers.html#creating-configuring-network-of-brokers-create-brokers) in the [Creating and Configuring a Network of Brokers](./amazon-mq-creating-configuring-network-of-brokers.html) tutorial. - -## Network of brokers topologies - -By deploying brokers, and then configuring `networkConnector` entries in their configurations, you can build a network of brokers using different network topologies. A network connector provides on-demand message forwarding between connected brokers. Connections can be configured as duplex, where messages are forwarded both ways between brokers, or not duplex, where the forwarding only propagates from one broker to the other. For example, if we have a duplex connection between _Broker1_ and _Broker2_ , messages will be forwarded from each to the other if there is a consumer. - - - -With a duplex network connector, messages are forwarded from each broker to the other. These are forwarded _on-demand_ : if there is a consumer on _Broker2_ for a message on _Broker1_ , the message is forwarded. Similarly, if there is a consumer on _Broker1_ for a message on _Broker2_ the message is also forwarded. - -For non-duplex connections, messages are forwarded only from one broker to the other. In this example, if there is a consumer on _Broker2_ for a message on _Broker1_ , the message is forwarded. But messages will not be forwarded from _Broker2_ to _Broker1_. - - - -Using both duplex and non-duplex network connectors, it is possible to build a network of brokers in any number of network topologies. - -###### Note - -In each of the network topology examples, the `networkConnector` elements reference the endpoint of the brokers they connect to. Replace the broker endpoint entries in the `uri` attributes with the endpoints of your brokers. - -### Mesh topology - -A mesh topology provides multiple brokers that are all connected to each other. This simple example connects three single-instance brokers, but you can configure more brokers as a mesh. - - - -You can configure a three broker mesh network like this by adding a network connector to _Broker1_ that makes duplex connections to both _Broker2_ and _Broker3_ , and a single duplex connection between _Broker2_ and _Broker3_. - -_Network connectors for Broker1:_ - - - <networkConnectors> - <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/> - <networkConnector name="connector_1_to_3" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> - </networkConnectors> - -_Network connectors for Broker2:_ - - - <networkConnectors> - <networkConnector name="connector_2_to_3" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> - </networkConnectors> - -By adding the above connectors to the configurations of _Broker1_ and _Broker2_ , you can create a mesh between these three brokers that forwards message between all the brokers on demand. For more information, see [Amazon MQ Broker Configuration Parameters](./amazon-mq-broker-configuration-parameters.html). - -### Hub and Spoke Topology - -In a hub and spoke topology, messages are preserved if there is a disruption to any broker on a spoke. Messages are forwarded throughout, and only the central _Broker1_ is critical to the network’s operation. - - - -To configure the hub and spoke network of brokers in this example, you could add a `networkConnector` to each of the brokers on the spokes in the configuration of _Broker1_. - - - <networkConnectors> - <networkConnector name="connector_hub_and_spoke_2" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> - <networkConnector name="connector_hub_and_spoke_3" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/> - <networkConnector name="connector_hub_and_spoke_4" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> - <networkConnector name="connector_hub_and_spoke_5" userName="myCommonUser" duplex="true" - uri="static:(ssl://b-62a7fb31-d51c-466a-a873-905cd660b553-4.mq.us-east-2.amazonaws.com:61617)"/> - </networkConnectors> - -### Concentrator topology - -In this example topology, the three brokers on the bottom can handle a large number of connections, and those messages are concentrated to _Broker1_ and _Broker2_. Each of the other brokers has a non-duplex connection to the more central brokers. To scale the capacity of this topology, you can add additional brokers that receive messages and concentrate those messages in _Broker1_ and _Broker2_. - - - -To configure this topology, each of the brokers on the bottom would contain a network connector to each of the brokers they are concentrating messages to. - -_Network connectors for Broker3:_ - - - <networkConnectors> - <networkConnector name="3_to_1" userName="myCommonUser" duplex="false" - uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> - <networkConnector name="3_to_2" userName="myCommonUser" duplex="false" - uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/> - </networkConnectors> - -_Network connectors for Broker4:_ - - - <networkConnectors> - <networkConnector name="4_to_1" userName="myCommonUser" duplex="false" - uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> - <networkConnector name="4_to_2" userName="myCommonUser" duplex="false" - uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> - </networkConnectors> - -_Network connectors for Broker5:_ - - - <networkConnectors> - <networkConnector name="5_to_1" userName="myCommonUser" duplex="false" - uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> - <networkConnector name="5_to_2" userName="myCommonUser" duplex="false" - uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/> - </networkConnectors> -