- Multicast communication between nodes
- Time Synchronization using NTP.
- Minimal network latency to replicate Session State
It is highly recommended, that unless these three requirements are met, that Clusters are not produced to span different networks nor span data centres in different physical locations.
The Fusion Application Server ensures that session state is accessible from any Node within a Cluster. This means upstream load balancers/reverse proxies do not need to target (stick) to a particular LA Node. They do not need to target the same node that was used to create a token for example.Specifically, the Session Token/Description inside FCSDK/Gateway is accessible from any LA Node also.
Deployment Across Multiple Data Centers
Live Assist works best if all nodes in an FAS cluster (consisting of one or more FAS nodes and associated Media Broker nodes) are on the same LAN subnet; other setups may work, but are not supported.
Deployment of a cluster across a WAN or multiple data centres is not supported.
Live Assist supports high availability over LAN to provide redundancy over LAN. In turn, network connectivity inside the data centre and between Live Assist nodes must have minimal latency and exceptional quality of services. The maximum allowed round-trip time (RTT) between two FAS master and slave node and between a FAS node and a Media Broker nodes is 50 ms.
- A Customer and Agent must create LA sessions against the same Data Centre and thus the same Cluster.
- The Customer and Agent do not have to target the same Node within the Data Centre, FAS will redirect accordingly.
- The 'topic' URL parameter can be used to correlate the Customer and Agent Sessions
- The WebSocket transaction, starts with a HTTP request which is 'Upgraded' a to WebSocket
- A cookie can be added to this HTTP request prior to upgrade so Session Creation and WebSocket transaction can be homogenized to a Data Centre.
- On web, the cookies must have the standard parameters added to ensure it gets added to the Web Socket request. This is a standard mechanism in the the browser.
- On iOS, the application has to populate the NSCookieStore correctly and on Android some work has to be done to create and populate a cookie manager.
- There is an expectation that the infrastructure is able to ensure the Upgraded HTTP and WebSocket transactions can be correlated to the same Data Centre (by reusing established TCP connections).