The following examples illustrate some of the common topologies encountered real-world networks:
If you anticipate that your system will have a large number of incoming connections that would overwhelm a single broker, you can deploy a concentrator topology to deal with this scenario, as shown in Figure 6.1.
The idea of the concentrator topology is that you deploy brokers in two (or more)
layers in order to funnel incoming connections into a smaller collection of
services. The first layer consists of a relatively large number of brokers, with
each broker servicing a large number of incoming connections (from producers
P1
to Pn
). The next layer consists of a smaller number
of brokers, where each broker in the first layer connects to all of the brokers in
the second layer. With this topology, each broker in the second layer can receive
messages from any of the producers.
The hub and spokes, as shown in Figure 6.2, is a topology that is relatively easy to set up and maintain. The edges in this graph are all assumed to represent duplex network connectors.
This topology is relatively robust. The only critical element is the hub node, so you would need to focus your maintenance efforts on keeping the hub up and running. Routes are determinate and the diameter of the network is always 2, no matter how many nodes are added.
The tree, as shown in Figure 6.3, is a topology that arises naturally when a physical network grows in an informal manner.
For example, if the network under consideration is an ethernet LAN, R
could represent the hub in the basement of the IT department's building and
A
could represent a router in the ground floor of another building.
If you want to extend the LAN to the first and second floor of building
A
, you are unlikely to run dedicated cables back to the IT hub for
each of these floors. It is more likely that you will simply plug a second tier of
routers, A1
and A2
, into the existing router,
A
, on the ground floor. In this way, you effectively add another
layer to the tree topology.
The mesh, as shown in Figure 6.4, is a topology that arises naturally in a geographic network, when you decide to link together neighbouring hubs.
The diameter of a mesh increases whenever you add a node to its periphery. You must, therefore, be careful to set the network TTL sufficiently high that your network can cope with expansion. Alternatively, you could set up some mechanism for the central management of broker configurations. This would enable you to increase the network TTL for all of the brokers simultaneously.
In graph theory, the complete graph on n
vertices is the graph with n
vertices that has edges
joining every pair of vertices. This graph is denoted by the symbol,
Kn
. For example, Figure 6.5 shows the graph,
K5
.
Every complete graph has a diameter of 1. Potentially, a network that is a complete graph could be difficult to manage, because there are many connections between broker nodes. In practice, though, it is relatively easy to set up a broker network as a complete graph, if you define all of the network connectors to use a multicast discovery agent (see Multicast Discovery Agent).