课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
事件驱动架构设计是随着互联网的不断发展而逐渐被程序员掌握的一种开发架构方法,而今天我们就通过案例分析来了解一下,事件驱动架构的原理与常见模型。
什么是事件
事件是指系统硬件或软件的状态出现任何重大改变。事件与事件通知不同,后者是指系统发送的消息或通知,用于告知系统的其他部分有相应的事件发生。
而事件的来源可以是内部或外部输入。事件可以来自用户(例如点击鼠标或按键)、外部源(例如传感器输出)或系统(例如加载程序)。
事件驱动架构的工作原理
事件驱动架构由事件发起者和事件使用者组成。事件的发起者会检测或感知事件,并以消息的形式来表示事件。它并不知道事件的使用者或事件引起的结果。
检测到事件后,系统会通过事件通道从事件发起者传输给事件使用者,而事件处理平台则会在该通道中以异步方式处理事件。事件发生时,需要通知事件使用者。他们可能会处理事件,也可能只是受事件的影响。
事件处理平台将对事件做出正确响应,并将活动下发给相应的事件使用者。通过这种下发活动,我们就可以看到事件的结果。
ApacheKafka是一种分布式数据流平台,也是事件处理的常见之选。它可以实时进行事件流的发布、订阅、存储和处理。ApacheKafka支持需要高吞吐量和可扩展性的用例,同时,通过大程度减少某些应用中对数据共享的点对点集成需求,它可以将延迟降至毫秒级。
除此之外,还有其他一些中间件事件管理器也可用作事件处理平台。
事件驱动架构模型
事件驱动架构可以基于发布/订阅模型或事件流模型。
发布/订阅模型
这是一种基于事件流订阅的消息传递基础架构。对于该模型而言,在事件发生或公布之后,系统会将相应的消息发送给需要通知的订阅用户。
事件流模型
借助事件流模型,事件将被写入日志。事件使用者无需订阅事件流。相反,它们可以从流的任何部分读取并随时加入流。
事件流有几种不同的类型:
事件流处理使用诸如ApacheKafka等数据流平台来提取事件并处理或转换事件流。事件流处理可用于检测事件流中有用的模式。
简单事件处理是指事件立即在事件使用者中触发操作。
复杂事件处理则需要事件使用者处理一系列事件以检测模式。
事件驱动型构的优势
事件驱动架构可为企业提供一个灵活的系统,能够适应变化并实时做出决策。借助实时态势感知功能,您可以利用反映系统当前状态的所有可用数据,来做出业务决策(无论是人工还是自动)。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。