สถาปัตยกรรมแบบ event-driven (EDA) เป็นสถาปัตยกรรมแบบกระจาย (distributed) และอะซิงโครนัสที่ได้รับความนิยมอย่างมาก ใช้สร้างแอปพลิเคชันที่มี scalability และ performance สูง นอกจากนี้ยังปรับใช้ได้หลากหลาย ตั้งแต่แอปพลิเคชันขนาดเล็กไปจนถึงระบบขนาดใหญ่ที่ซับซ้อน สถาปัตยกรรมแบบ event-driven ประกอบด้วยส่วนประกอบสำหรับประมวลผล event ที่แยกออกจากกัน (decoupled) ซึ่งจะ trigger และตอบสนองต่อ event ต่างๆ แบบอะซิงโครนัส สามารถใช้เป็นสถาปัตยกรรมแบบสแตนด์อโลนเอง หรือฝังอยู่ภายในสถาปัตยกรรมสไตล์อื่น (เช่น event-driven microservices architecture) ก็ได้
นักพัฒนาและสถาปนิกซอฟต์แวร์หลายคนมองว่า EDA เป็นแค่ architectural pattern มากกว่าจะเป็น architectural style เราไม่เห็นด้วยกับมุมมองนี้ ผู้เขียนทั้งสองคนเคยพัฒนาระบบทั้งระบบที่พึ่งพา EDA เพียงอย่างเดียว จึงยืนยันว่ามันเป็น architectural style โดยแท้จริง แม้ EDA จะสามารถนำไปใช้ร่วมกับ architectural style อื่นได้ เช่น microservices และ space-based architecture เพื่อสร้างเป็น hybrid architecture แต่แก่นแท้ของมันก็ยังคงเป็นวิธีการออกแบบระบบที่ซับซ้อนอยู่ดี
แอปพลิเคชันส่วนใหญ่ใช้โมเดลที่เรียกว่า request-based ดังภาพประกอบใน Figure 15-1 เมื่อลูกค้าร้องขอ เช่น ประวัติคำสั่งซื้อย้อนหลังหกเดือน คำขอนี้จะถูกรับเข้ามาที่ request orchestrator ก่อน โดยทั่วไป request orchestrator มักเป็น user interface แต่ก็สามารถนำไปใช้งานผ่าน API layer, orchestration service, event hub, event bus หรือ integration hub ได้เช่นกัน หน้าที่ของมันคือส่งคำขอไปยัง request processor ต่างๆ อย่างเจาะจง (deterministic) และแบบซิงโครนัส โดย request processor จะประมวลผลคำขอด้วยการดึงและอัปเดตข้อมูลของลูกค้าในฐานข้อมูล การดึงข้อมูลประวัติคำสั่งซื้อเป็นคำขอที่ขับเคลื่อนด้วยข้อมูล (data-driven) และเจาะจงชัดเจนภายในบริบทหนึ่งๆ ไม่ใช่ event ที่เกิดขึ้นแล้วระบบต้องตอบสนอง จึงเรียกว่าเป็นโมเดลแบบ request-based
ในทางกลับกัน โมเดลแบบ event-based จะตอบสนองต่อ event หนึ่งๆ ด้วยการลงมือทำอะไรบางอย่าง ตัวอย่างเช่น การส่งราคาประมูลสินค้าออนไลน์ ผู้ประมูลที่ส่งราคาไม่ได้กำลังส่งคำขอไปยังระบบ แต่กำลังก่อ event ขึ้นมาหลังจากที่มีการประกาศราคาปัจจุบัน ระบบต้องตอบสนองต่อ event นั้นด้วยการเปรียบเทียบราคาที่เสนอกับราคาอื่นๆ ที่ได้รับในเวลาเดียวกัน แล้วหาผู้เสนอราคาสูงสุดในปัจจุบัน