Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. SignalR sucks

SignalR sucks

Scheduled Pinned Locked Moved The Lounge
data-structuresquestionworkspace
38 Posts 18 Posters 57 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R RickZeeland

    Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

    S Offline
    S Offline
    Scott Serl
    wrote on last edited by
    #12

    I'm confused...SignalR is not a message queue...it's a communication link. You would usually use SignalR in conjunction with a message queue if you needed message queuing. The client would connect with SignalR, then the SignalR thread would queue the item in the message queue system and wait for a response to send back to the client. The important distinction here is that the SignalR thread keeps a connection with the client in order to notify. It can sort of be used like a message queue, but it's main characteristic is the continued connection to the client for notification and there is no queue. There can be performance implications in that each call to SignalR can launch an action concurrently and you can overload the server, but with a message queue, you can control how many threads or processes are servicing each queue and never have more concurrent processes than that. Then you can have as many SignalR threads waiting around for results to send back to the client.

    1 Reply Last reply
    0
    • Z ZurdoDev

      Sander Rossel wrote:

      also the most well known by far

      That doesn't speak well of the circles I hang out in. I HAVE heard of SignalR but NOT RabbitMQ. :laugh: SignalR is the most popular one I have heard about. :-O

      Social Media - A platform that makes it easier for the crazies to find each other. Everyone is born right handed. Only the strongest overcome it. Fight for left-handed rights and hand equality.

      Sander RosselS Offline
      Sander RosselS Offline
      Sander Rossel
      wrote on last edited by
      #13

      They're different technologies. SignalR is a wrapper around web sockets that can send data back to the browser (which isn't normally possible using HTTP, although SignalR should fallback to long polling if sockets fail or aren't supported). RabbitMQ (and ZeroMQ and ServiceBus) are queueing technologies, which support sending some data to a queue (or topic) where listener(s) will pick it up and do something with that data. I can see how queueing can be an alternative to sockets, but sockets are usually not a good (or even possible) alternative to queues.

      Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

      1 Reply Last reply
      0
      • R RickZeeland

        That looked good to me too, and also NATS (especially with future Docker microservices development in mind), but one of my colleagues already beat me to it with a Proof of Concept using ZeroMQ before I could even start a discussion about it, guess I'm getting too old and slow :sigh: And I must say, the more I read about ZeroMQ the more enthousiastic I get, it's even developed by a Dutch guy !

        Sander RosselS Offline
        Sander RosselS Offline
        Sander Rossel
        wrote on last edited by
        #14

        Never heard of NATS (just read your experience on that list). My biggest objection to ZeroMQ would be the following:

        Some guy named Tim wrote:

        More complicated scenarios require more setup ZeroMQ is very fast due to its simplicity, but as a result of this, doing anything harder than passing messages between 2 peers will require a lot more work from the user.

        SignalR is (usually) a one-to-many broadcast, with support for channels. That sounds more like topics than queues, and according to this Tim topics aren't supported in ZeroMQ. RabbitMQ (and ServiceBus) do support topics out of the box. Although reading the ZeroMQ website it also seems they support topics as well, so Tim might just be a dirty little liar :laugh:

        Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

        1 Reply Last reply
        0
        • R raddevus

          I thought RabbitMQ was a message que system. Does RabbitMQ implement WebSocket type of technology?

          Sander RosselS Offline
          Sander RosselS Offline
          Sander Rossel
          wrote on last edited by
          #15

          I didn't think so, but then I found RabbitMQ Web STOMP Plugin — RabbitMQ[^]. I'm not sure how Rick wants to implement queueing in a browser, but with over 350,000 packages in the npm repository I'm sure there's one for connecting your queue to JavaScript :laugh:

          Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

          1 Reply Last reply
          0
          • R RickZeeland

            Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

            M Offline
            M Offline
            Mark_Wallace
            wrote on last edited by
            #16

            Just a wild stab in the dark, but is Symantec Endpoint Protection involved in the equation?

            I wanna be a eunuchs developer! Pass me a bread knife!

            R 1 Reply Last reply
            0
            • R RickZeeland

              Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

              D Offline
              D Offline
              Dewey
              wrote on last edited by
              #17

              What version of SignalR are you using, i.e. .net framework or .net core? BTW, they never tell you that if SignalR is on a port, in production, it's likely the firewall will block you at most companies.

              R 1 Reply Last reply
              0
              • R RickZeeland

                Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                S Offline
                S Offline
                Sumuj John
                wrote on last edited by
                #18

                Having a right skill is knowledge. If you don't know, then don't blame/insult the tool. Rather try to acquire the knowledge.

                M 1 Reply Last reply
                0
                • S Sumuj John

                  Having a right skill is knowledge. If you don't know, then don't blame/insult the tool. Rather try to acquire the knowledge.

                  M Offline
                  M Offline
                  Mark_Wallace
                  wrote on last edited by
                  #19

                  But not all tools are created equal.

                  I wanna be a eunuchs developer! Pass me a bread knife!

                  1 Reply Last reply
                  0
                  • R RickZeeland

                    Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                    abmvA Offline
                    abmvA Offline
                    abmv
                    wrote on last edited by
                    #20

                    did u enable trace log..

                    Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                    We are in the beginning of a mass extinction. - Greta Thunberg

                    R 1 Reply Last reply
                    0
                    • M Mark_Wallace

                      Just a wild stab in the dark, but is Symantec Endpoint Protection involved in the equation?

                      I wanna be a eunuchs developer! Pass me a bread knife!

                      R Offline
                      R Offline
                      RickZeeland
                      wrote on last edited by
                      #21

                      Good one, we'll check that !

                      1 Reply Last reply
                      0
                      • D Dewey

                        What version of SignalR are you using, i.e. .net framework or .net core? BTW, they never tell you that if SignalR is on a port, in production, it's likely the firewall will block you at most companies.

                        R Offline
                        R Offline
                        RickZeeland
                        wrote on last edited by
                        #22

                        I know they are using self hosted .NET Core SignalR and maybe .NET too ... Microsoft.AspNet.SignalR.Core.dll 2.2.6

                        1 Reply Last reply
                        0
                        • abmvA abmv

                          did u enable trace log..

                          Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                          R Offline
                          R Offline
                          RickZeeland
                          wrote on last edited by
                          #23

                          Yes, but we did not get any wiser, that is the most frustrating thing about SignalR: you don't have a clue what is going on :sigh:

                          abmvA 1 Reply Last reply
                          0
                          • P PIEBALDconsult

                            Pretty much anything of that sort is created by architecture astronauts and will not fullfil any particular need.

                            R Offline
                            R Offline
                            Rage
                            wrote on last edited by
                            #24

                            PIEBALDconsult wrote:

                            architecture astronauts

                            This is priceless. Will be reused.

                            Do not escape reality : improve reality !

                            P 1 Reply Last reply
                            0
                            • R RickZeeland

                              Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                              H Offline
                              H Offline
                              h0wXD
                              wrote on last edited by
                              #25

                              Are you using the .NET Full Framework or the .NET core? I only started with .NET core 2.1 and built distributed batch processing work queue and it's working fine and even has good performance, tested crossplatform and scaled on aws cloud without problems. I did experiment with large messages (10MB) but (de)serialization performance caused me to stick to small packets and strip of unnecessary data.

                              R 1 Reply Last reply
                              0
                              • H h0wXD

                                Are you using the .NET Full Framework or the .NET core? I only started with .NET core 2.1 and built distributed batch processing work queue and it's working fine and even has good performance, tested crossplatform and scaled on aws cloud without problems. I did experiment with large messages (10MB) but (de)serialization performance caused me to stick to small packets and strip of unnecessary data.

                                R Offline
                                R Offline
                                RickZeeland
                                wrote on last edited by
                                #26

                                The problems are mainly with .NET Core SignalR. Large messages is not what SignalR is meant for, and we only use small messages.

                                1 Reply Last reply
                                0
                                • R RickZeeland

                                  Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                                  C Offline
                                  C Offline
                                  C0byC
                                  wrote on last edited by
                                  #27

                                  have you looked at ServiceStack Server Events. as an alternative to SignalR?

                                  Over..

                                  R 1 Reply Last reply
                                  0
                                  • R RickZeeland

                                    Me and my colleagues at work have totally had it with SignalR and it's erratic behaviour, everything seems to work fine locally, but as soon as it's tested in a production environment unexplainable problems occur. Also there does not seem to be anything to find about these problems on the internet, like long delays on message delivery :mad: Are we the only ones having these problems ? We are thinking about switching to ZeroMQ, see: message-queue-servers[^]

                                    P Offline
                                    P Offline
                                    Paulo_JCG
                                    wrote on last edited by
                                    #28

                                    As Sander Rossel and Scott Serl pointed out, SignalR's goal is not to be a message queue service. The fact that you can use it as one does not mean you should.

                                    Paulo Gomes Measuring programming progress by lines of code is like measuring aircraft building progress by weight. —Bill Gates Everything should be made as simple as possible, but not simpler. —Albert Einstein

                                    1 Reply Last reply
                                    0
                                    • R RickZeeland

                                      Yes, but we did not get any wiser, that is the most frustrating thing about SignalR: you don't have a clue what is going on :sigh:

                                      abmvA Offline
                                      abmvA Offline
                                      abmv
                                      wrote on last edited by
                                      #29

                                      these kind of things may need some investigation and thought..also configuration management..like what is the difference between the development and production environments ? is there a firewall..are the ports enabled... is there dpi ssl filtering ...packet inspection.... is there some timeouts that are causing connections to drop...latency...is there firewall or av on the production.. any lockdowns... are the pipes open properly...https://forums.asp.net/t/2096572.aspx?why+signalr+so+slow.... https://docs.microsoft.com/en-us/aspnet/signalr/overview/testing-and-debugging/enabling-signalr-tracing

                                      Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                                      We are in the beginning of a mass extinction. - Greta Thunberg

                                      1 Reply Last reply
                                      0
                                      • C C0byC

                                        have you looked at ServiceStack Server Events. as an alternative to SignalR?

                                        Over..

                                        R Offline
                                        R Offline
                                        RickZeeland
                                        wrote on last edited by
                                        #30

                                        Thanks for the tip, I will have a look at it !

                                        1 Reply Last reply
                                        0
                                        • R Rage

                                          PIEBALDconsult wrote:

                                          architecture astronauts

                                          This is priceless. Will be reused.

                                          Do not escape reality : improve reality !

                                          P Offline
                                          P Offline
                                          PIEBALDconsult
                                          wrote on last edited by
                                          #31

                                          Apparently Joel Spolsky coined it. Look it up.

                                          R 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups