Что такое система
Система — это совокупность взаимодействующих между собою компонентов.
В систему входят не только компоненты, которые разрабатываются вашей командой. Так, в приложении может быть задействован компонент оплаты (Stripe, PayPal и т. п.), и, несмотря на то что это стороннее решение, оно становится частью системы. База данных также является типичным примером компонента, который входит в состав системы.
В событийно-ориентированной архитектуре события служат механизмом взаимодействия между компонентами системы. Каждый компонент публикует и обрабатывает определённый набор событий, а совокупность таких событий образует единое пространство событий системы. Важно, что это пространство ограничено границами самой системы: события не являются частью её внешнего контракта, а используются исключительно для внутреннего взаимодействия. Хорошей иллюстрацией служит преобразование монолитного приложения в модульный монолит. Несмотря на появление явных границ между модулями, события не становятся элементами их публичных интерфейсов. Они продолжают выполнять роль внутреннего канала обмена информацией между частями одной системы. Таким образом, мы можем говорить, что граница системы одновременно является и границей её пространства событий.