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).
The SignalR backplanes replace the default IMessageBus with a bus designed for that backplane.
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.
The Hub class is used to define methods the clients can call on the server.
Scaleout is done using a Backplate/. It can be implemented using one of the following mechanisms: