feat: implement Redis-backed Socket.io adapter and user presence service for cross-instance communication
This commit is contained in:
@@ -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}`);
|
||||
|
||||
Reference in New Issue
Block a user