Event-driven architecture (EDA) is a software design pattern for application development. It allows organizations to track and detect “events” (valuable business moments such as customer transactions) and then instantly act on these events. EDA is different from a traditional request-driven system, where services needed to wait for a reply before processing the next task.
In a modern economy driven by high digital transaction volume, many application designs are now event-driven. EDA-style applications can deliver the agility, scalability, context, and responsiveness needed for performant digital business applications. Event-driven architecture also requires little coupling, making it a good fit for distributed application architectures.
In event driven architecture, there are producers and consumers. Producers uncover events and creates a message. The event is then sent to event consumers through an event channel, where it is processed. An event processing system then executes a response to the event message that creates an activity downstream (for example, customer x has taken a specific action or set of actions on an online platform and as a consequence automated action b will now follow on that platform in real or near real time).
The Apache Kafka distributed data streaming framework is one popular choice to handle event processing in EDA. Kafka can easily manage the publishing, storing, and processing of event streams in real time. .
Snowflake and Kafka
To reap the full value of data, it needs to be stored, collected, and analyzed. For digital business applications, this needs to happen in real or near real-time. This makes Apache Kafka the system of choice for the reliable collection, transmission, and delivery of event data. Snowflake's platform is a natural fit for the next step -- storing and analyzing event data. In a modern data pipeline, Snowflake and Kafka work hand in glove to power digital applications
The Snowflake Connector for Kafka makes it simple to configure a Kafka Connect cluster to deliver JSON and Avro events into a Snowflake table.