Шина событий
Централизованный посредник: компоненты публикуют события, другие на них подписываются — не зная друг о друге. Pub-sub внутри одного процесса.
Отличается от брокера сообщений (Kafka, RabbitMQ): шина событий обычно живёт внутри процесса или кластера, а не между сетями. Реализуется списками колбэков или паттерном «наблюдатель». Во многих фреймворках есть своя: EventEmitter (Node), Spring ApplicationEvents, события Tk, мутации Vuex/Pinia.
Риск: события без чёткой предметной области превращаются в «магическую связность», когда всё общается со всем. Лучше ограничивать шину одним ограниченным контекстом и документировать список событий. Альтернативы: прямые вызовы методов (более тесная связь), оркестрация саг.