โšก Valkey Hackathon 2026 ยท Track A ยท Integration #27

Scale Socket.IO on
open-source Valkey

Run many Socket.IO servers that behave like one. A message sent from any server reaches every connected client โ€” no matter which server they're on โ€” using Valkey as the coordinator.

$ npm install socket.io-valkey-adapter iovalkey

The problem it solves

Real apps don't run on one server. Chat apps, live dashboards, multiplayer games, notifications โ€” they run on 5, 10, 50 servers behind a load balancer. Without an adapter, each server is an island: it can only message its own clients. This package connects the islands. That's the entire job.

Server 1Client A ๐Ÿ”ต
Server 2Client B ๐ŸŸข
VALKEYPub/Sub bus
Server 3Client C ๐ŸŸฃ
Server Nโ€ฆClient D ๐ŸŸ 

Why people use it

๐Ÿ“ˆ

Horizontal scaling

Add more servers without breaking real-time delivery.

๐Ÿ’ฌ

Chat & presence

Live chat, notifications, and presence across a whole cluster.

๐ŸŽฎ

Games & live data

Multiplayer games, live leaderboards, collaborative editing.

๐Ÿ“ก

Cluster-wide rooms

Broadcast to rooms that span multiple servers, seamlessly.

๐ŸŽฏ Why this instead of socket.io-redis-adapter

The killer line: the same proven adapter, but on open-source Valkey instead of Redis.

socket.io-redis-adapter socket.io-valkey-adapter
Works โœ… battle-tested โœ… identical code (96 tests pass)
Backend Redis Valkey
License No longer fully open source (RSALv2 / SSPL since 2024) BSD โ€” open source forever, Linux Foundation backed
Migration cost โ€” Zero โ€” drop-in, no code changes

The 3 top selling points

1

License freedom (the #1 reason)

In 2024 Redis changed its license away from pure open source. Many companies and OSS projects must move off Redis for legal/compliance reasons. Valkey is the official open-source fork (BSD, Linux Foundation). This package is their escape hatch โ€” keep Socket.IO working, just point it at Valkey.

2

Drop-in, zero rewrite

Because Valkey speaks the same protocol as Redis, this adapter is byte-for-byte the same logic as the Redis one. A team switches by changing one import. No relearning, no risk โ€” the "switch in 30 seconds" story is the whole appeal.

3

Future-proof & cost

Valkey is community-driven, actively developed, and free of the licensing/cost uncertainty hanging over Redis. Teams standardizing their whole stack on Valkey get a first-party Socket.IO integration that fits.

โŒ before// tied to Redis
const { createAdapter } =
  require("@socket.io/redis-adapter");
const Redis = require("ioredis");
โœ… after โ€” one-line swap// now on open-source Valkey
const { createAdapter } =
  require("socket.io-valkey-adapter");
const Valkey = require("iovalkey");

The one-sentence pitch

"If you run Socket.IO at scale and want to be on truly open-source infrastructure, socket.io-valkey-adapter gives you the exact same battle-tested clustering as the Redis adapter โ€” but on Valkey, with a one-line swap and zero code changes."

Who it's for

The value in one line: it removes the only thing tying Socket.IO scaling to Redis. It makes Valkey a first-class option.