МОжно или эвент эмиттеры, или что-то, что их заменяет.
Проблемы с эвентами есть, хоть в рамках одного сервера, хоть в рамках микросервисной эвент-дривен архитектуры.
Но я ничего против таких подходов не имею, там есть преимущества.
Одна из проблем нодовского эвент эмиттера - он полностью синхронный(возможно, и не проблема) и нет подписки на все эвенты разом. Можно только на конкретный эвент подписаться.
Это решает библиотека emittery.
Можно юзать реактивное программирование, которое тоже работает с потоками сообщений: посмотри RxJS или другие reactive programming libraries.