0

I am confused on a design architecture using a SQL server as a back-plane. My question is can I use Redis as a back-plane and also have SQL serving my user information separate from SignalR messages.

I am just very lost on where my SQL server database would fit into this diagram. Is it as simple as just adding my connection string in the web config and when the user needs to hit the db it does, but is always connected to Redis for SignalR? Or is that design architecture not possible because the backplane is the end point of all data being sent?

One last thing I would like to ask is if I end up just using SQL as my scale out design with signalr. If at some point the back-plane becomes a bottleneck, how does that scale? Is my only option to scale vertically or horizontally?

Scale-out provider architecture

Please look at this new image of the diagram,

Scale-out provider architecture with SQL DB

Martin Liversage
  • 104,481
  • 22
  • 209
  • 256
Denis Cekic
  • 155
  • 2
  • 11

1 Answers1

0

Yes, you can use Redis as the backplane for scaling out SignalR and also use SQL Server as your app database.

I'm sure you've looked at this site which explains the various ways to scale out SignalR. There's a multiple-step process described on the SQL Server page on how to configure a database and web apps to use to scale out SignalR.

SignalR is designed to be scaled out (horizontally) using one of three options mentioned in the URL above.

  • Thanks for confirming that for me, the only reason why I ask is because of performance concerns. I don't to tax the SQL Server using broker SignalR, also run it as a backplane and perform Stored procedures. So I need to decouple the DB for simple pushes using Redis. I will mark you correct for reassuring me that it could be done. Could you explain how it would fit in to the diagram I created? Like how does a sql effect a redis backplane or vice versa when different calls are being made to eachother. Like client one is sending messages to Redis backplane and also calling a stored procedure? – Denis Cekic May 26 '15 at 01:25
  • SignalR makes calls to the special SQL Server database in order that all app servers stay in sync. We chose Redis for scale-out...easy to implement, solid Pub/Sub architecture. – Joel Williams May 26 '15 at 02:14