Hi Claus,
For a general discussion about load balancing you can take a look at "
Clustering for Load Balancing and Fail Over".
The Lightstreamer nodes in a cluster follow the share-nothing pattern. They are totally independent.
It's the client subscriptions that drive the item base handled by each server instance and in turn requested to each Data Adapter. This has proven very robust in case of fail-over.
So, each Data Adapter will receive command from the server to start publishing or stop publishing a given item, and the Adapter should follow such commands.
If two clients, one connected to server A and the other connected to server B, subscribe to the same item, both the adapters, one on server A and the other on server B, receive the subscription request and should be able to deliver the same data.
The issue about how to share the same data between all the adapters is actually beyond the Lightstreamer Server and is up to the adapters. A Bus, a message queue, or any MOM infrastructure should do the job.
Another option is use the Lightstreamer Adapter Remoting Infrastructure (ARI), which allows to implement remote Adapters, by speaking a TCP-based protocol with Lightstreamer.
So, instead of having a data adapter inside each server, you may have a remote data adapter: one for each server or one for all. But again, this is an architectural decision depending on your application. Anyway you may find more info about ARI at "
Adapter Remoting Infrastructure Tutorial" and "
Adapter Remoting Infrastructure: Network Protocol Specification".
HTH
Marco