Network interface controllers

You need to consider the number of network interface controllers (NICs) that you require when you configure your environment. You should consider factors including the class of traffic, volume of traffic, and the type of environment that you are using when planning the number of NICs that you need.

Environment considerations

If you are configuring a development or test environment, a minimum of one NIC is required.

In production environments, use a dedicated network interface for all classes of light traffic. These classes are shown in the following table as Admin, HA discovery, cluster control, and cluster discovery traffic. You might want to consider additional network interfaces depending on the workload and the use of IBM® Watson IoT Platform - Message Gateway HA and clustering features. For client traffic and cluster messaging traffic, use an additional dedicated NIC.

If you are configuring HA in a production environment, you can use either two unbonded NICs or one highly available NIC. If you are using IBM Watson IoT Platform - Message Gateway HA with reliable messaging (QoS > 0), use an additional dedicated NIC for HA replication traffic. In HA environments, this configuration is required to minimize the risk of a split brain condition. Split brain can occur in an HA environment if the primary node that provides messaging operations detects that the other server is acting as a primary. For more information about link aggregation, see the documentation for your operating system.

Traffic class considerations

The following table describes the major classes of traffic and the traffic load:

Class of traffic Description From MQTT
Admin The network traffic between the Message Gateway Admin endpoint and administrative clients. For example, REST client or IBM Watson IoT Platform - Message Gateway Web UI. Light
Client The network traffic between Message Gateway server and clients. Heavy
HA replication The network traffic used for state replication between the ACTIVE and STANDBY members of an HA pair. Heavy - if using QoS > 0 for reliable messaging.
HA discovery The network traffic used for discovery and heart-beating between the ACTIVE and STANDBY members of an HA pair. Light
Cluster messaging The network traffic used for forwarding client data between members of a Message Gateway cluster. Heavy
Cluster control The network traffic used for propagating cluster state information between members of a Message Gateway cluster. Light
Cluster discovery The network traffic used for discovering new cluster members. Light

Multiple heavy traffic classes can be combined on a single network interface - for example a single highly available bonded interface. However, you must consider the packet rate limitations of the OS NIC driver when planning the number of NICs that you require.

Note: Any kernel packet processing overhead on the host that is running IBM Watson IoT Platform - Message Gateway, can limit the maximum packet rate that the host can support. For example, if you are running a stateless or stateful packet firewall like iptables.