# [Event Driven](https://www.redhat.com/en/topics/integration/what-is-an-event-mesh) ###### tags: `System Architechture` `DDD` `Strategic design` ### [Difference between Event mesh and service mesh](https://solace.com/what-is-an-event-mesh/) - Service mesh could only connect events from cloud env while event mesh connect not only for cloud but also legacy app. - To solve problem: dissemination of massive amounts of data across a highly distributed infrastructure. ### [Event-driven architecture(EDA)](https://www.redhat.com/en/topics/integration/what-is-an-event-mesh) - communication via "events." - EDA's "asynchronous" event-based communication is better suited to this type of data transfer than more traditional "synchronous" communication. - "asynchronous" communication is event-driven, allowing multiple applications to communicate simultaneously and rapidly, - EDA requires no runtime coupling between event producer and consumer, which makes EDA optimal for modern, distributed applications. - [***3 Keywords***](https://solace.com/blog/becoming-an-event-driven-enterprise/) - Event-enable existing sys - Q: middleware products - A: using **msg bridges** to send info to event mesh - Q: mainframe app - A: using **bridges into MQ**, polling app for changes once nd publishing them to the event mesh - A: using **JDBC connectors** or **CDC software** to gather changes from app databases, - Q: exiting App & ESB - A: using **Solace JCA, JMS, or REST**, some can directly connect to event mesh. - Q: sync restful request/reply - A: using **PubSub+ in microgateway** proxy mode to publish it into event mesh - Modernize platform - modernizing your application environment so you can take advantage of more dynamic cloud infrastructure, public, private or often both, to build more agile microservices - Alert & inform ![](https://i.imgur.com/i6BU1ci.png) ### [Implementation](https://solace.com/blog/steps-to-implement-event-driven-architecture/) - Event-driven architecture is way of building enterprise IT systems that lets loosely coupled applications and microservices produce and consume events. - #### Steps - Culture Awareness & Intent - Which app/micro services consume/produce which events - [ ] publish/subscribe event broker - [x] distributed netowkr of brokers( event mesh) - What are the benefits of EDA ? - Agility - Responsiveness - Better customer experience - Build support, strategize, and ensure that the next project – the next transformation, the next microservice, the next API – will be done the event-driven way. - To-do - What are jewel of projects - ACP/DCP request - user info - Use cases can be candidates, look at them through the event-driven lens, - articulate a go-to approach to realize the benefits. - Real Time Candidates - Candidates: API - pain removal: - brittleness, performance, new functionality - medium-to-high business impact - Event Streaming Foundation - Pilot Selection and Event Catelog - Event Driven Design - Implemnet quick win ### Event driven with hexagonal (How) #### [Clean Architechre starts with triangle concept](https://valerii-udodov.com/posts/event-sourcing/clean-event-driven-architecture/) ### Event Storage Model - Pub/sub model - Event streaming model - Event stream processing - Data streeaming platform - Apache Kafka - Simple event processing - Event immediately trigger an action - Complex event processing ### AWS sqs - Standard queues offer - maximum throughput - best-effort ordering - at-least-once delivery. - SQS FIFO queues are designed to guarantee that messages are processed exactly once, in the exact order that they are sent. ### Further questions - **Extension**: How to extend the flow of events form the system to new cloud-based app? - **Integration**: How to connect the rest eco sys into the event-driven world? - **Readibility & Scalability**: How do app developers discover these events from sys of record, iot devices, filed locations to build new app? - **Orginization**: How to govern and track whcih app have access to what info? - **Accessibility**:How to evolve event definition over time and communicate changes or assess the impact of changes? #### EDA messaging Apache Kafka is a popular choice for EDA messaging, particularly with cloud-native developers. Event mesh should also support other messaging options including Knative Eventing, Cloud Events, HTTP and AMQP, just to name a few. ### Reading list - [ ] [Why You Need More than a Schema Registry to Become an Event-Driven Enterprise](https://solace.com/blog/more-than-a-schema-registry/) - [ ] [What is Event-Driven Architecture?](https://solace.com/what-is-event-driven-architecture/) - [ ] [Expertised in event-driven](https://solace.com/blog/becoming-an-event-driven-enterprise/) - [ ] [What Does It Mean to be Event Driven? Open Your Mind and Unlock New Business Value!](https://solace.com/blog/what-is-event-driven-unlock-business-value/)