I am trying to scale by express backend. The problem is that every time a user comes in or if I restart the server it gets a new socket.id. Plus I can't save the whole socket into memory because it gives me a [Circular JSON] problem. How do I save somepart of the socket into redis that will allow me retrieve the same socket from other servers?
Scaling express/node.js with socket.io horizontally with redis
2.1k Views Asked by Ridan At
1
There are 1 best solutions below
Related Questions in NODE.JS
- Bot listening to another bot in group conversation
- The type arguments for method IDialogStack.Wait<R>(ResumeAfter<R> resume) cannot be inferred from the usage
- How to convert the .wav audio files into text and identify the intents using LUIS
- C# | MS BotBuilder | Usage of DefaultIfException
- How to develop skype calling functionality using Azure Bot Service
- How can I simulate a group conversation in the Bot Framework emulator?
- How to get the Skype username using skype calling feature
- How to send rich text card using Microsoft Bot Framework and Facebook Messenger?
- Login user with MS Teams bot
- MS Bot with Multiple Form Dialog
Related Questions in SOCKET.IO
- Bot listening to another bot in group conversation
- The type arguments for method IDialogStack.Wait<R>(ResumeAfter<R> resume) cannot be inferred from the usage
- How to convert the .wav audio files into text and identify the intents using LUIS
- C# | MS BotBuilder | Usage of DefaultIfException
- How to develop skype calling functionality using Azure Bot Service
- How can I simulate a group conversation in the Bot Framework emulator?
- How to get the Skype username using skype calling feature
- How to send rich text card using Microsoft Bot Framework and Facebook Messenger?
- Login user with MS Teams bot
- MS Bot with Multiple Form Dialog
Related Questions in HORIZONTAL-SCALING
- Bot listening to another bot in group conversation
- The type arguments for method IDialogStack.Wait<R>(ResumeAfter<R> resume) cannot be inferred from the usage
- How to convert the .wav audio files into text and identify the intents using LUIS
- C# | MS BotBuilder | Usage of DefaultIfException
- How to develop skype calling functionality using Azure Bot Service
- How can I simulate a group conversation in the Bot Framework emulator?
- How to get the Skype username using skype calling feature
- How to send rich text card using Microsoft Bot Framework and Facebook Messenger?
- Login user with MS Teams bot
- MS Bot with Multiple Form Dialog
Related Questions in SOCKET.IO-REDIS
- Bot listening to another bot in group conversation
- The type arguments for method IDialogStack.Wait<R>(ResumeAfter<R> resume) cannot be inferred from the usage
- How to convert the .wav audio files into text and identify the intents using LUIS
- C# | MS BotBuilder | Usage of DefaultIfException
- How to develop skype calling functionality using Azure Bot Service
- How can I simulate a group conversation in the Bot Framework emulator?
- How to get the Skype username using skype calling feature
- How to send rich text card using Microsoft Bot Framework and Facebook Messenger?
- Login user with MS Teams bot
- MS Bot with Multiple Form Dialog
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 # Hahtags
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?
You need to decouple the user from the socket.id. The socket.id is volatile and can change even with a browser refresh. Instead, when a user socket connects, take a look at the handshake data which is passed and use that to associate the socket to the user. As far as persisting socket data in redis, that can already be handled for you using socket.io-redis.
Take a look at this link for scaling out socket.io: http://socket.io/docs/using-multiple-nodes