-
September 24th, 2013, 03:20 PM
#1
Load balancing LightStreamer servers
Hi,
Suppose I have two LightStreamer servers load balanced using a standard web load balancer. This will give me a scalable solution - I can add more servers and failover is good.
But, how does LightStreamer handle that one of the servers needs to push updates to clients connected to server A and also clients connected to server B? Is there a backplane or message bus in play or is this scenario not possible?
I have been trying to find this in documentation, but can only find that "Lightstreamer Server is completely scalable. It is possible to create a cluster using normal web load balancing appliances.".
Thanks,
Claus
-
September 25th, 2013, 10:08 AM
#2
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
-
September 25th, 2013, 11:51 AM
#3
Thank you for the information, it makes sense. I was basically trying to figure out if that was supported out of the box, and there are several ways to approach this (as you mention).
For now, I just needed to know my options.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
All times are GMT +1. The time now is 02:36 AM.
Bookmarks