feat: implement Redis-backed Socket.io adapter and user presence service for cross-instance communication

This commit is contained in:
pradeepkumar
2026-04-02 19:30:08 +05:30
parent 360969ae2c
commit 539fdf70e3
10 changed files with 211 additions and 20 deletions

View File

@@ -8,6 +8,7 @@ import cookieParser from 'cookie-parser';
import { AppModule } from './app.module';
import { AllExceptionsFilter } from './common/filters';
import { TransformInterceptor } from './common/interceptors';
import { RedisIoAdapter } from './common/adapters/redis-io.adapter';
async function bootstrap() {
const logger = new Logger('Bootstrap');
@@ -101,6 +102,11 @@ async function bootstrap() {
logger.log(`Swagger documentation available at http://localhost:${port}/api/docs`);
}
// Socket.IO Redis adapter for cross-instance event broadcasting
const redisIoAdapter = new RedisIoAdapter(app, configService);
await redisIoAdapter.connectToRedis();
app.useWebSocketAdapter(redisIoAdapter);
await app.listen(port);
logger.log(`Application is running on: http://localhost:${port}`);
logger.log(`Environment: ${appEnv}`);