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
- How to solve CERT_UNTRUSTED error in nodemailer
- Run a loop over a callback, node js
- Implementing prerender.io middleware in sails.js
- Token based authorization in nodejs/ExpressJs and Angular(Single Page Application)
- formatting path string in javascript
- One to One screensharing using WEBRTC
- Create polygon from grid (for collisions)
- Strange npm behavior when installing packages like grunt
- Convert JSON.gz to JSON in node js
- "Your npm version is outdated." but it's not. While install yo
- Why put methods on the prototype of a class instead of declaring them in the constructor?
- Node JS Async Response
- mongoose get property from nested schema after `group`
- Cannot Receive Incoming call on Twilio android Client
- How can I change a specific line in a file with node js?
Related Questions in SOCKET.IO
- How to send raw data using socket.io
- Stop receiving an event for some time in socket io
- Socket.io chat application not working with express?
- Deleting namespace in Socket IO
- Connecting a web client to a c++ server with TCP
- Node.js - Socket.io io.emit() doing nothing
- Angular.js - How to make limitTo dynamic and persistant inside a nested ng-repeat with real time socket.io data updates
- Socketing for a Real-Time Django Application
- Get Socket Object by Id with node, redis-adapter and socket.io
- Node.js Socket.io seperate connection events for each page
- nodejs , socket.io simple code memory leak
- Is it possible to force Socket.io to use its Ajax fallback?
- Forward all messages to socket.io room
- Using Node.JS With ASP.NET WebForm and Socket.IO
- socket.io xhr post error on slow connection (3G mobile network)
Related Questions in HORIZONTAL-SCALING
- Async vs Horizontal scaling
- How to load balancing multiple Netty TCP socket server with nginx stream module?
- Azure Architecture Scaling Approach
- How to handle a heavy request on a server?
- Can relational database scale horizontally
- Distributing queries to multiple databases through ActiveRecord
- scaling issue :selector in NIO
- Memcache automatic horizontal scaling
- Scaling Databases and Servers
- can VPA and HPA(Auto Scaling) in kubernetes used together?
- Node js REST Client Scaling the Data collection
- HighCharts: Logarithmic Scale for Horizontal Bar Charts
- How to scale each different sized bars to fill the plot in Stacked Barh?
- Scaling express/node.js with socket.io horizontally with redis
- How To Make A Horizontally Scalable Git Solution
Related Questions in SOCKET.IO-REDIS
- Socket.io redis How data stored and cleared
- socket.io-redis giving error on heroku
- Step by step instruction to create multiport socket.io server using node.js
- use socketio and redis on multiple servers
- In socket.io, socket.disconnect() to a single socket, disconnect all socket connection
- Using socket.io with redis as a cluster
- Socket.io: How to reduce emit delay with many concurrent connections?
- Scaling express/node.js with socket.io horizontally with redis
- How to get rooms after adding redis
- Migration issues in socket.io 2.x to 4.x in node js
- socket.io + socket.io-redis adapter method calls timeout
- laravel echo listen the socket? not the variable?
- socket io connected without on connection event on server side (GKE)
- Socket.io fetchSockets() error between redis nodes
- Node JS Socket.IO Emitter (and redis)
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?
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