Bind IP with Multiple NICs
NCache provides you with the opportunity to bind cluster, client/server, or both with dedicated IP addresses if you have multiple NICs configured.
Warning
Binding cluster and client with different dedicated IP addresses is only useful if the server machine has multiple NICs configured.
A cluster or a specific client/server can employ dedicated IP binding using the NCache Management Center as detailed below:
Using the NCache Management Center
Launch the NCache Management Center by browsing to http://localhost:8251 or
<server-ip>:8251
on Windows and Linux.In the left navigation bar, click on Clustered Caches or Local Caches, based on the cache to configure.
Select the cache name, click on View Details.
This opens up the detailed configuration page for the cache.
Under the Server Nodes tab, check the box against the server node IP to change NIC.
You can do so by using either of the following methods:
- Method 1: Click on the
button on the toolbar to change NIC.
- Method 2: Click on "..." against the server IP and select Change NIC.
- Method 1: Click on the
Upon either selection, the Configure NIC page will open. It will list all network cards available on that node with their assigned IP addresses.
Select the Cluster or Client/Server option as per your requirement, from drop-down in front of the IP with which you want.
- On clicking OK, you will recieve the following prompt warning you about the running caches.
- Click OK to complete the binding process.
Troubleshooting Dedicated IP Binding Clusters
If you have dedicated network cards configured for public and private communication, then you might not be able to create new clusters. Additionally, it is possible that existing NCache clusters could fail to communicate. Please note, that the following problems will occur if nodes are unable to communicate with each other on specific interface(s).
The NCache Service starts at one interface, whereas other nodes try to communicate with it on the other interface. Therefore, the two nodes are always unable to communicate with each other even when both nodes are fully functional.
The NCache Clients connect to the NCache Server to get OutProc cache instances. So, the NCache Server starts at one interface, whereas the client tries to connect to it on the other interface. This way, though the NCache Server is ready to accept the client requests, the client applications will always be unable to connect to the OutProc caches.
Situations can arise where the cluster nodes are unable to join with each other and no cluster forms. This could stem from one node listening to join requests from other nodes on one network interface, while the other nodes send these join requests on the other network interface.
Workaround
To avoid such problems, you can bind the NCache Service to a specific IP that is publicly available to other nodes in the cluster. You can do this in the service configuration file in %NCHOME%\bin\service
or opt/ncache/bin/service
(for Linux). Please note that for .NET Core Linux installation, the file name is Alachisoft.NCache.Daemon.dll.config.
<add key = "NCacheServer.BindToClientServerIP" value = "<your-ip>" />
See Also
Bind Client/Server with a Dedicated IP
Email Notifications
Heartbeat
Communication Reliability