尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili
1. 技术背景
事件驱动架构(Event-Driven Architecture, EDA)是一种用于设计应用的软件架构和模型。EDA是一种以事件为媒介,实现组件或服务之间最大松耦合的方式。面向服务驱动框架(Service-Oriented Architecture)是以接口为媒介,实现调用接口者和接口实现者之间的解耦,但是这种解耦程度不是很高,如果接口发生变化,双方代码都需要变动,而事件驱动则是调用者和被调用者互相不知道对方,两者只和中间消息队列耦合。事件驱动架构可以最大程度减少耦合度,因此是现代化分布式应用架构的理想之选。
事件是指系统硬件或软件的状态出现任何重大改变。事件与事件通知不同,后者是指系统发送的消息或通知,用于告知系统的其他部分有相应的事件发生。而事件的来源可以是内部或外部输入。事件可以来自用户(例如点击鼠标或按键)、外部源(例如传感器输出)或系统(例如加载程序)。
事件驱动架构由事件发起者和事件使用者组成。事件的发起者会检测或感知事件,并以消息的形式来表示事件。它并不知道事件的使用者或事件引起的结果。 检测到事件后,系统会通过事件通道从事件发起者传输给事件使用者,而事件