Making event-driven development predictable with Discover
Aug 16, 2023
auto_awesome
The hosts discuss tech in finance industry, domain-driven design, event-driven architecture, and Kafka streams. Discover's speakers share their experiences with Spark, HBase, microservices, RabbitMQ, Kubernetes, and Kafka. They explore event-driven architecture, orchestration vs choreography, and scaling challenges. They also highlight the importance of chaos testing in cloud-native development.
Discover leverages event-driven architecture (EDA) combined with Kafka Streams and domain-driven design (DDD) for flexibility and scalability.
Collaboration with stakeholders, documentation, and performance testing are key factors for successful implementation of event-driven architecture (EDA) and domain-driven design (DDD).
Deep dives
Tech behind a global payment network
Discover leverages cloud-native containerized microservices, combines SQL and NoSQL data stores, and utilizes event-driven and restful APIs in their tech stack. Security and resilience are key priorities, and teams are empowered to come up with innovative solutions and technologies.
Event-driven architecture and domain-driven design
Discover utilizes event-driven architecture (EDA), combining it with Kafka Streams and domain-driven design (DDD). EDA allows for flexibility and scalability by using events and choreography instead of a central orchestrator. Kafka Streams enable join and aggregation operations on topics, and they provide exactly-once semantic, reducing code footprint and ensuring data integrity.
Challenges and considerations
When implementing EDA and DDD, collaboration with stakeholders is important. Documenting architecture decisions using techniques like Architecture Decision Records (ADRs) and the C4 model is valuable. Scalability in an event-driven architecture relies on proper design of Kafka partitions, and thorough performance testing is essential. Chaos testing and resilience engineering help identify weaknesses and enhance system reliability.
If your interested in working on an event-driven architecture that uses domain-driven design within a financial organization, check out jobs.discover.com.