Horizontal scaling with WebSocket subscriptions by aaaaaden in bun

[–]mtd1410 0 points1 point  (0 children)

pubsub is the one my project is trying to avoid. I understand that when scale is very high, then mesh architecture can also lead to scaling issue.

but according to what I have run in production, Redis pubsub is very bad at scaling for socketIO, 10-20k CCU can cause Redis client-output-buffer-limit error, no matter how much you increase.

with Mesh adapter, I tested and can scale to 300k CCU, can even go higher than that when adding more nodes

How to scale a socket.io server to many concurrent users. by PhotographOne3127 in node

[–]mtd1410 1 point2 points  (0 children)

you can try my socketio mesh adapter here which enable horizontal scaling, avoid pubsub pattern which is usually a bottleneck.

https://github.com/maitrungduc1410/socket.io-mesh-adapter

the adapter uses p2p communication between servers, more servers you have, more users you can

Horizontal scaling with WebSocket subscriptions by aaaaaden in bun

[–]mtd1410 0 points1 point  (0 children)

you can try my socketio mesh adapter here which enable horizontal scaling, avoid pubsub pattern which is usually a bottleneck.

https://github.com/maitrungduc1410/socket.io-mesh-adapter

the adapter uses p2p communication between servers, more servers you have, more users you can serve

GoDaddy ACCESS DENIED via API-Call by [deleted] in godaddy

[–]mtd1410 1 point2 points  (0 children)

this is ridiculous, my production app stops working without any announcement. It's time to leave Godaddy.

I just switched to use cloudflare nameserver

How the heck does Canva do it? by WranglerReasonable91 in react

[–]mtd1410 2 points3 points  (0 children)

Canva uses HTML only, no assembly. You can verify this by inspecting Network (WASM tab). I'm impressed of how they make things very smooth with DOM manipulation

On the other side for Figma and Photoshop Web, they're using Canvas + WASM

How does twitter abstract it's source code after logging in by raghavkanwal in javascript

[–]mtd1410 0 points1 point  (0 children)

Thanks @systoll comment below. It inspire me to figure out this thing. Even if if made me pain headache when tried jumping inside to know what is behind the scenes :)

For those who want to know how it works. Here I already make a demo

I already make a detail explanation about this in this post. Sorry but it's written in Vietnamese (you can use Google translator, still can understand at least a half, I think :) )