We have load balancer infront of app servers and when C1 is crashing, all the chat requests that are on C1 are getting disconnected and no message is displayed to customer. FYI - We are using NetScaler and LB's are enabled for sticky sessions.
It is recommended that the chat node.js servers sit behind a reverse proxy load balancer.
− It is required that the load balancer support sticky session routing (for example, based on IP address) and WebSocket proxying. An ideal choice would be NGINX.
From the NGINX website:
High-performance load balancing , refer to Load-Balancing Methods.
On the point of NetScaler, As discussed this is not tested inhouse, but we will check with the team on any knowledge on NetScaler, but I would strongly suggest that you discuss with your team on how to setup NetScaler to do routing based on IP address.