模式对于定义事件至关重要。模式提供了有关事件中应该出现什么和不应该出现什么的所有信息,包括名称、类型、可选性和内联文档,仅举几个功能。流行的模式技术包括Avro、Protobuf和JSON Schema。
事件流在当今世界变得越来越普遍。事件是一条数据,它以时间快照的形式描述了您的业务中发生的重要事件。我们将该数据记录到事件流(通常使用 Apache Kafka 主题),这为其他应用程序和业务流程做出相应的响应和反应提供了基础——也称为事件驱动架构 (EDA)。
在之前部分中,我们从宏观角度考虑了我们的数据,并区分了内部数据和外部数据。我们还讨论了模式和数据契约,以及它们如何提供随着时间的推移协商、更改和发展我们的流的方法。最后,我们介绍了事实(状态)和增量事件类型。事实事件最适合通信状态和解耦系统,而 Delta 事件往往更多地用于内部数据,例如在事件溯源和其他紧密耦合的用例中。
他们的主要用例之一是事件溯源。要组合当前状态,您可以将每个更改记录为其自己的事件,然后使用特定的状态组合逻辑按顺序应用这些事件。这是一种事件驱动模式,用于构建内部有数据的系统,因为事件和状态组合逻辑之间存在紧密耦合的关系。
专门构建的连接器依靠 Apache Kafka Streams 和 Apache Flink 等流处理框架来解决主键连接和外键连接。它们将流数据具体化为持久的内部表格式,使连接器应用程序能够连接任何时期的事件 - 而不仅仅是那些受时间限制的窗口约束的事件。