Я решил разделить свое node js приложение на несколько микросервисов(чат и т.д.) Каждому микросервису необходимо создавать события web-socket. Я сделал отдельный socket-server и там храню состояние всех сокетов. А сокет-сервер с помощью redis общается с микросервисами по механизму pub/sub.
Правильно ли я сделал? меня смущает, что приходиться писать гораздо больше кода.
то есть необходимо держать веб-сокетное соединение с каждым процессом? это как-то не красиво мне кажется, да и код на клиенте сильно усложнит. Про общую шину данных я вас понял. это плохо?
komarevtsev: руководствуйтесь таким понятием как coupling (связанность), cohesion (зацепление, сцепка), не делайте single point of failure и все будет хорошо. У вас сейчас как раз таки single point of failure, если сокет сервер упал - у вас ни один микросервис не может работать. Ну и опять же, вдруг вы когда-нибудь решите что часть микросервисов должны общаться по http например в угоду простоты разработки.