How to effectively scale Websocket servers?Does Django scale?WebSockets vs. Server-Sent events/EventSourceScalable Pub/Sub engine for realtimeHow to design redis pub/sub for an instant messaging system?Node.js, Socket.io, Redis pub/sub high volume, low latency difficultiesWhat are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?How to Scale Node.js WebSocket Redis Server?Websockets Notification- / Chat- SystemHorizontal scaling of Websocket ClientAccessing pub/sub systems from web apps through WebSockets

Examples of subgroups where it's nontrivial to show closure under multiplication?

How can I practically buy stocks?

How do I deal with a coworker that keeps asking to make small superficial changes to a report, and it is seriously triggering my anxiety?

Controversial area of mathematics

How to creep the reader out with what seems like a normal person?

Using a Lyapunov function to classify stability and sketching a phase portrait

Do I have to worry about players making “bad” choices on level up?

Meaning of Bloch representation

How to verbalise code in Mathematica?

Critique of timeline aesthetic

Error message with tabularx

Why isn't the definition of absolute value applied when squaring a radical containing a variable?

How to have a sharp product image?

Do I have an "anti-research" personality?

How do I use proper grammar in the negation of "have not" for the following sentence translation?

Any examples of headwear for races with animal ears?

Why do games have consumables?

If a warlock with the Repelling Blast invocation casts Eldritch Blast and hits, must the targets always be pushed back?

What's the polite way to say "I need to urinate"?

French for 'It must be my imagination'?

Fizzy, soft, pop and still drinks

How could Tony Stark make this in Endgame?

What does KSP mean?

Which big number is bigger?



How to effectively scale Websocket servers?


Does Django scale?WebSockets vs. Server-Sent events/EventSourceScalable Pub/Sub engine for realtimeHow to design redis pub/sub for an instant messaging system?Node.js, Socket.io, Redis pub/sub high volume, low latency difficultiesWhat are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet?How to Scale Node.js WebSocket Redis Server?Websockets Notification- / Chat- SystemHorizontal scaling of Websocket ClientAccessing pub/sub systems from web apps through WebSockets






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















So, let's consider group of Websocket applications. Each user is connected to one of these servers. I need to implement chat application, in which each user can send message to any user.



I am looking for fast, reliable, scalable approach, how to do it.



I think, that I need some good implementation of event bus. Each user, when he connects to websocket, has to be registered (or subscribed) in event bus. Then, when some another user sends message to given user, event bus publish message to given user.



So, what event bus should I use?



Of course, I know about Redis Pub/Sub, but I am not sure, that this is the best option in 2019 year.










share|improve this question




























    0















    So, let's consider group of Websocket applications. Each user is connected to one of these servers. I need to implement chat application, in which each user can send message to any user.



    I am looking for fast, reliable, scalable approach, how to do it.



    I think, that I need some good implementation of event bus. Each user, when he connects to websocket, has to be registered (or subscribed) in event bus. Then, when some another user sends message to given user, event bus publish message to given user.



    So, what event bus should I use?



    Of course, I know about Redis Pub/Sub, but I am not sure, that this is the best option in 2019 year.










    share|improve this question
























      0












      0








      0








      So, let's consider group of Websocket applications. Each user is connected to one of these servers. I need to implement chat application, in which each user can send message to any user.



      I am looking for fast, reliable, scalable approach, how to do it.



      I think, that I need some good implementation of event bus. Each user, when he connects to websocket, has to be registered (or subscribed) in event bus. Then, when some another user sends message to given user, event bus publish message to given user.



      So, what event bus should I use?



      Of course, I know about Redis Pub/Sub, but I am not sure, that this is the best option in 2019 year.










      share|improve this question














      So, let's consider group of Websocket applications. Each user is connected to one of these servers. I need to implement chat application, in which each user can send message to any user.



      I am looking for fast, reliable, scalable approach, how to do it.



      I think, that I need some good implementation of event bus. Each user, when he connects to websocket, has to be registered (or subscribed) in event bus. Then, when some another user sends message to given user, event bus publish message to given user.



      So, what event bus should I use?



      Of course, I know about Redis Pub/Sub, but I am not sure, that this is the best option in 2019 year.







      websocket architecture scalability publish-subscribe event-bus






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 22 at 18:42









      MaxMax

      496519




      496519






















          1 Answer
          1






          active

          oldest

          votes


















          1














          Redis Pub/Sub is a really good option. One thing you need to actually worry about is the number of connection limit in certain scenarios. Since you know WebSockets are long-lived connections, load balancing of this thing works little different then Http. I suggest you read this thing I am sure you will find some good resources for this.






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55305975%2fhow-to-effectively-scale-websocket-servers%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            Redis Pub/Sub is a really good option. One thing you need to actually worry about is the number of connection limit in certain scenarios. Since you know WebSockets are long-lived connections, load balancing of this thing works little different then Http. I suggest you read this thing I am sure you will find some good resources for this.






            share|improve this answer



























              1














              Redis Pub/Sub is a really good option. One thing you need to actually worry about is the number of connection limit in certain scenarios. Since you know WebSockets are long-lived connections, load balancing of this thing works little different then Http. I suggest you read this thing I am sure you will find some good resources for this.






              share|improve this answer

























                1












                1








                1







                Redis Pub/Sub is a really good option. One thing you need to actually worry about is the number of connection limit in certain scenarios. Since you know WebSockets are long-lived connections, load balancing of this thing works little different then Http. I suggest you read this thing I am sure you will find some good resources for this.






                share|improve this answer













                Redis Pub/Sub is a really good option. One thing you need to actually worry about is the number of connection limit in certain scenarios. Since you know WebSockets are long-lived connections, load balancing of this thing works little different then Http. I suggest you read this thing I am sure you will find some good resources for this.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 25 at 6:41









                jay thackerjay thacker

                765




                765





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55305975%2fhow-to-effectively-scale-websocket-servers%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                    Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                    Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript