I use SignalR in order to expose RabbitMQ messages to browsers. This works fine with one app instance obviously. The question is if it could work with multiple instances too without a backplane. I understand that SignalR client could be disconnected from the pod A and connected back to the pod B but what exactly is the issue here? I am fine to lose some messages during reconnection. Is it the only issue? Is reconnection to the pod B treated as a regular new connection so that the client is just subscribed again as it was subscribed normally without reconnection? Or the system doesn't have input parameters it had during initial subscription and therefore it cannot resubscribe without hints?
Can I avoid of using a SignalR backplane behind a load balancer?
786 Views Asked by Serg046 At
1
There are 1 best solutions below
Related Questions in SIGNALR
- React-native Long-polling or SignalR/websocket?
- Problem when use SignalR with ASP.NET Boilerplate - Connection ID required
- Websocket/SignalR stops receving data consistently on low-end machine
- Implementing User-Specific Notifications with SignalR in an ASP.NET Core Web API & React Project
- SignalR Client won't print the Queue Position
- ANR about Unsafe.park (Native method) in play console
- SignalR client in Unity Android platform doesn't receive messages from server
- Why signal R app throwing SocketClosed exception for RedisConnection(in aws) for and state is "ConnectedEstablished" and app works fine?
- How cobrowsing works?
- SignalR timer event unsubscribe if user disconnected or browser closed
- Issue with Microsoft.AspNet.SignalR.Client hanging/crashing app after app being in background for 10 + minutes
- How to configure WebSocket for SignalR for successful response in listener? How to capture messages from developer console using WebSocket samplers?
- Blazor StateHasChanged() method not working with SignalR
- How to check if SignalR is using redis elasticache programmatically in C#. Is there any code to get stored key value pairs
- Can I get results from multiple SignalR clients from Hub
Related Questions in SIGNALR-BACKPLANE
- Masstransit and signalR override consumer definition
- Can we rely on IRedisFeature from SignalR Redis backplane to track groups to which connection belongs?
- How to deserialize SignalR messages from Redis backplane
- Why am I getting a 404 error in SignalR Backplane with SQL Server in .Net Core?
- How does SignalR's scaleout dependencyResolver UseSqlServer work under the hood?
- Azure SignalR Service: No active connection for user
- SignalR Scaleout using Sql Server (.net6)
- Signalr connection failed for API hosted on webgarden
- IIS maximum worker processors and Signalr
- SignalR backplane expected behavior
- Can I avoid of using a SignalR backplane behind a load balancer?
- Inject service to configure SignalR backplane
- ASP.NET SignalR with Redis scaleout/backplane causes linear increase in server load
- .NET Core based SignalR client with Redis Backplane receiving duplicate messages
- External Messaging SignalR (DB ==> WebServer)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
As long as all of your SignalR servers are getting the same data from RabbitMQ or getting only the data for the clients connected to them, you don't need a backplane.
You will need a backplane if you have one of the following:
I have a similar setup with a database instead of RabbitMQ and need a backplane to either have only one of the SignalR servers access the database (and have data be sent to all clients) or to share the database load between servers (and have data be sent to all clients). This way, the server getting the data can have it sent to a client connected to a different server.
I am using SignalR for ASP.NET and the servers do not know who is subscribed to the other servers. All messages are sent over the backplane and each server determines if they apply to their connected clients. This works well with broadcasts for example or if the same user has multiple clients to make sure they all get the same data regardless of the server.