Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Backplane vs Sticky Load balancer

I am developing SignalR application.There will be multiple instances of my application running on different servers behind the load balancer. I read about the backplane and found out that it is mainly serves the purpose of server failure and handles the request hops between multiple servers.(there might be another benefits).

Please consider below scenario and suggest if I still needs backplane.

I am using sticky load balancing(i.e. all subsequent request from client goes to same server) ? So there is no chance of request hops in good scenario.

How I handled server down scenario - When server goes down. Client tries to reconnect and gets "404-not found" error.At this time client start new connection and it works.

like image 830
Santy2211 Avatar asked Mar 09 '26 11:03

Santy2211


1 Answers

The main reason for having a backplane when developing SignalR application comes from the following scenario:

  • let's say you have 2 web servers hosting your application, serverA and serverB
  • you have 2 clients connecting to your application, client1 who is served by serverA and client2 who is served by serverB

A good assumption when developing a SignalR application is that you want these 2 clients to communicate with one another. So client1 sends a message to client2.

The moment client1 sends a message, his request is completed by server1. But server1 keeps a mapping of connected users in memory. It looks for client2, but client2 is kept in the memory of serverB, so the message will never get there.

By using a backplane, basically every message that comes in one server is broadcast to all other servers.

One solution is to forward messages between servers, using a component called a backplane. With a backplane enabled, each application instance sends messages to the backplane, and the backplane forwards them to the other application instances.

Taken from SignalR Introduction to scaleout

Be sure to check this backplane with Redis from the SignalR documentation.

Hope this helps. Best of luck!

like image 177
radu-matei Avatar answered Mar 12 '26 13:03

radu-matei



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!