Шина — это программный шаблон или компонент, обеспечивающий унифицированный механизм обмена сообщениями или событиями между различными частями системы или отдельными сервисами.
Основные типы шин:
- Шина событий (Event Bus/Event Emitter): Позволяет компонентам подписываться на определенные события и получать уведомления, когда эти события происходят, независимо от инициатора события.
- Шина команд (Command Bus): Используется для отправки объектов-команд в определенные обработчики, инкапсулируя намерение выполнить какое-либо действие.
- Шина сообщений (Message Bus): Более общий термин, который может включать в себя как события, так и команды, или использоваться как брокер сообщений для асинхронной коммуникации.
Примеры использования в Node.js:
- Внутри приложения для взаимодействия между модулями.
javascript
- Между микросервисами с использованием брокеров сообщений (таких как Kafka, RabbitMQ).
javascript