# IT:AD:SignalR/Glossary # * [[../|(UP)]] {{indexmenu>.#2|nsort tsort}} ## Terms ## #### Backplane The term *"Backplane"* comes from the electrical world, where a *"BackPlane"* (or *"backplane system"*) is a group of electrical connectors in parallel with each other, so that each pin of each connector is linked to the same relative pin of all the other connectors forming a computer *bus*. In SignalR, it's the messaging bus used to ensure that message from one server are transmitted to all other servers. Each server instance connects to the backplane through the bus. When a message is sent, it goes to the backplane, and the backplane sends it to every server (and when a server gets a message from the backplane, it puts the message in its local cache. The server then delivers messages to clients from its local cache). ![](https://dl.dropboxusercontent.com/u/11851202/Posted/IT/About/SignalR/Backplane.png) The SignalR backplanes replace the default `IMessageBus` with a bus designed for that backplane. * SignalR Scaleout with Azure Service Bus * SignalR Scaleout with Redis, using the Redis pub/sub mechanism. * SignalR Scaleout with SQL Server In SignalR, every message is sent through a message bus. A message bus implements the IMessageBus interface, which provides a publish/subscribe abstraction. For each client connection, the client’s progress in reading the message stream is tracked using a cursor. (A cursor represents a position in the message stream.) If a client disconnects and then reconnects, it asks the bus for any messages that arrived after the client’s cursor value. The same thing happens when a connection uses long polling. After a long poll request completes, the client opens a new connection and asks for messages that arrived after the cursor. The cursor mechanism works even if a client is routed to a different server on reconnect. The backplane is aware of all the servers, and it doesn't matter which server a client connects to. ### Hub The Hub class is used to define methods the clients can call on the server. ### Scaleout Scaleout is done using a [[#Backplate/]]. It can be implemented using one of the following mechanisms: * SignalR Scaleout with Azure Service Bus * SignalR Scaleout with Redis, using the Redis pub/sub mechanism. * SignalR Scaleout with SQL Server