Configuring DMR Internal Links
DMR internal links can be configured to connect two event brokers (nodes) in the same cluster. Internal links allow messages published in a node to be delivered to consumers connected to another node. For information about configuring an internal link using the Solace CLI, see Configuring Cluster Links.
To configure an internal link, the event brokers must belong to the same cluster (have the same cluster name). If you create an internal link between a node that belongs to a cluster and a node that does not belong to a cluster, the joining node automatically becomes a part of the first node's cluster. You can create an internal link for a node that does not belong to a cluster yet by Adding a Node to a Cluster. For more information, see Creating a Cluster.
Nodes in a cluster need to have internal links with every other node in order to create a full mesh within the cluster. Each node can communicate only with the nodes it is directly connected to. Failing to connect every node within a cluster with every other node will result in a topology issue and nodes will not receive all the information available to the cluster.
This topic includes the following tasks:
Adding a Node to a Cluster
You can add a node to a cluster by creating an internal link between a node in the cluster and the new node. In the example below, Node A and Node B are a part of MyFirstCluster. Node C is not part of a cluster and cannot communicate with the other nodes. We can add Node C to the cluster by configuring an internal link.
Configuring an internal link configures a cluster for the node that doesn't have one. The new cluster is automatically given the same name as the remote node's cluster, which means both nodes are part of the same cluster. When an internal link is configured between Node C and Node A, Node C is added to MyFirstCluster.
To configure an internal link between nodes in different clusters, perform these steps:
- If you haven't already, open Broker Manager. For instructions, see PubSub+ Broker Manager.
- If you don't already have a cluster configured in a remote broker, Create a Cluster.
- On the navigation bar, select Clustering.
- Click Join an Existing Cluster.
- In the URL field, enter the remote broker URL. Only fully qualified domain names (FQDNs) are supported.
- In the Username and Password fields, enter the username and password used to connect to the remote broker.
- Click Cluster Setup.
- Enter a password for the cluster.
- (Optional) Edit the following settings as required for the cluster:
Setting Description Type
Specifies the type of basic authentication the cluster will use for DMR links. - Internal Database—The cluster uses the locally configured password.
- None—The cluster doesn't use authentication.
Content Specifies the PEM formatted content for the client certificate used to login to the remote node. It must consist of a private key and between one and three certificates comprising the certificate trust chain. Validate Server Name
Specifies whether the TLS authentication mechanism of verifying the name is used to connect to the bridge. If enabled, the name used to connect to the bridge is checked against the names specified in the certificate returned by the remote broker.
Maximum Chain Depth Specifies the maximum the number of signing CA certificates that are present in the chain back to a trusted self-signed root CA certificate. Validate Certificate Dates Specifies whether certificate "Not Before" and "Not After" validity dates are used. - Click Configure Remote Nodes.
- If another node is detected in the cluster, enter the URL and credentials for that node.
- Click Configure Message VPNs.
- In the Remote Message VPN dropdown, select the name of a Message VPN that exists in both the local and remote brokers to configure a VPN channel.
- Click Remote Connection Setup.
-
(Optional) Click Add New to add another VPN channel between other Message VPNs on each broker. Each Message VPN can only be used by one channel at a time and must have the same name on both brokers.
- In the Remote Broker Connection section, select the Local or Remote tab to determine if the local or remote broker will initiate the link.
- Enter the remote cluster password in the Remote Cluster Password and Confirm Password fields, and your local cluster password in the Local Cluster Password and Confirm Password fields.
- If you are connecting to multiple targets, click the name of each node in the Target section and enter the cluster passwords for those nodes as well.
- Click Create Link and Test Connection. The broker attempts to establish a link with the specified DMR link mate. After the link is configured (this normally takes a few minutes), you'll see the result below.
- Click Exit. You can see the link from one node to the other node in the Summary tab.
You have now created an internal DMR link between two nodes. To see it in action, select a Message VPN and use the Try Me! tab to create a subscription in one event broker, publish from another event broker in the mesh, and see your message dynamically forward from one to the other.
You may get a warning about the spool size being too small. Unless you are moving large amounts of data between brokers, you can click Continue . For information about changing the maximum amount of spool usage, see Configuring Max Spool Usage.
You may get a second warning about the spool size being too small. Unless you are moving large amounts of data between brokers, you can check the box next to each message and then click Continue to bypass the warning.
Creating an Internal Link Between Nodes in the Same Cluster
You can share between every node in a cluster by configuring internal links between every pair of nodes. In the example below, Node A, Node B, and Node C are all a part of MyFirstCluster. Node C cannot share information with Node B because they do not have an internal link between them. We can create an event mesh and share information between all the nodes in the cluster by creating internal links between each node.
To configure an internal link between two nodes in the same cluster, perform these steps:
- If you haven't already, open Broker Manager. For instructions, see PubSub+ Broker Manager.
- On the navigation bar, select Clustering.
- Click Links in the navigation bar, and select the Internal Links tab.
- Click +Click to Connect.
- Select Remote Broker.
- In the URL field, enter the remote broker URL. Only fully qualified domain names (FQDNs) are supported.
- In the Username and Password fields, enter the username and password used to connect to the remote broker.
- Click Configure Message VPNs.
- In the Remote Message VPN dropdown, select the name of a Message VPN that exists in both the local and remote brokers to configure a VPN channel.
- Click Remote Connection Setup.
- (Optional) Click Add New to add another VPN channel between other Message VPNs on each broker. Each Message VPN can only be used by one channel at a time and must have the same name on both brokers.
- Select the Local or Remote tab to determine if the local or remote broker will initiate the link.
- Enter the remote cluster password in the Remote Cluster Password and Confirm Password fields, and your local cluster password in the Local Cluster Password and Confirm Password fields.
- Click Create Link and Test Connection. The broker attempts to establish a link with the specified DMR link mate. After the link is configured (this normally takes a few minutes), you'll see the result below.
You may get a warning about the spool size being too small. Unless you are moving large amounts of data between brokers, you can check the box next to each message and then click Continue to bypass the warning. For information about changing the maximum amount of spool usage, see Configuring Max Spool Usage.
Click Exit. You can see the link from one node to the other node in the Summary tab.
A link must be configured between every pair of nodes in order for the cluster to be fully meshed and able to propagate every message to the entire event mesh. Each node in a cluster can only share information with the nodes it is connected to with an internal link. In the example below, MyFirstCluster is linked to every node in the cluster, but it cannot see that MySecondService and MyThirdService also have an internal link between them. If they were not linked, MySecondService and MyThirdService would not be able to communicate, even though they are connected through MyFirstCluster and a topology error would be raised.
You have now created an internal DMR link between two nodes. Repeat the steps in this section to configure internal links between other event brokers that you want to be part of your event mesh. To see it in action, select a Message VPN and use the Try Me! tab to create a subscription in one event broker, publish from another event broker in the mesh, and see your message dynamically forward from one to the other.