Ну,
1. SSE полностью не покрывает ваши задачи. Вы обращаетесь в оба направления
2. Вам необходимо иметь систему событий на бэке и организовывать subscribe/unsubscribe на определенные типы сообщений по параметрам
3. в любом случае придется хранить список подписчиков и каждому отправлять отдельно, если только у вас не websocket.
И, как ни удивительно, но для всего вышеперечисленного, если, конечно, научиться читать документацию и не иметь сверхвысоких нагрузок - подходит GraphQL ибо у него есть и подписки, и команды (мутации) и просто получение нужных данных (query).