Lightstreamer Server Lightstreamer Server is a real-time engine that delivers real-time data over HTTP and WebSockets to/from any types of clients (HTML pages, native mobile applications, desktop applications, etc.).
Lightstreamer Server is a stand-alone process, which has a direct control over the operating system's TCP/IP stack and the threading model, to optimize the data transmission as much as possible. The Kernel of Lightstreamer Server has the role of distributing the data to the clients in a reliable and efficient way, offering unique features such as Bandwidth & Frequency Control and Adaptive Streaming.

Lightstreamer implements many sophisticated mechanisms to pass through any firewall and proxy without the risk of security policy blockages.

Lightstreamer Adapters When a Client creates a Lightstreamer session, it can specify an Adapter Set to use. An Adapter Set is made up of a Metadata Adapter and one or multiple Data Adapters. An Adapter is a custom server-side component developed by implementing some provided interfaces (based on Java API, .NET API, Node.js API, or on plain TCP sockets through the Adapter Remoting Infrastructure).

The role of a Metadata Adapter is to manage the policies applied to a user's session. It validates the authentication credentials sent by the Client and enforces the appropriate quality of service (in terms of allocated bandwidth and frequency). It validates each subscription request to decide whether the user is entitled to subscribe to a certain item or not.

Each Data Adapter is a connector that interfaces Lightstreamer Server with a data source. The Data Adapter receives data flows from any back-end systems (information providers, data feeds, databases, etc.) and makes them available to Lightstreamer Server for controlled delivery to individual users.

Being able to handle an arbitrary number of different Data Adapters and Metadata Adapters (grouped into Adapter Sets), it is possible to integrate heterogeneous sources of information while maintaining a single point of access to the streaming/push channel.

Lightstreamer Deployment The following diagram shows a typical scenario in which the real-time data is distributed to Web browsers.
A Lightstreamer Server and a normal Web Server are deployed in the DMZ network (accessible to Internet clients). Lightstreamer gets the data and metadata from the back-end systems, which are usually protected by a second firewall. The Web browser gets the static part of the Web pages from the Web Server, but receives the real-time updates from Lightstreamer Server. See Technology – Client Side to read more about how the browser handles the push updates.
  It is possible to create a cluster of Lightstreamer Servers by using any Web load-balancing appliance, in order to achieve load-balancing and fail-over. If one of the machines in the cluster fails, the clients will reconnect to another machine. The recovery is transparent to the users, while full data coherency in maintained.