Event-Driven Architecture (EDA) Nedir?

Event-Driven Architecture (EDA) Nedir?

Event-Driven Architecture (EDA), Türkçesiyle Olay Odaklı Mimari, yazılım sistemlerinin birbirleriyle “olaylar” (events) üzerinden iletişim kurduğu, modern yazılım geliştirmede devrim niteliğinde bir yaklaşımdır. Geleneksel monolitik veya servis odaklı yapılarda bileşenler genellikle doğrudan ve eşzamanlı (synchronous) olarak birbirine bağlıyken, EDA yapısında bileşenler bağımsız (decoupled) çalışır ve yalnızca gerçekleşen olaylara tepki verir. Bu köklü değişim sayesinde sistemler daha esnek, çevik, ölçeklenebilir ve kritik değişimlere hızlı tepki veren bir hale gelir.

Event-Driven Architecture Nasıl Çalışır?

Bu mimaride her şey bir “olay” ile başlar. Bir olay, sistemdeki durum değişikliğini temsil eden bir veri paketidir. Örneğin, bir kullanıcı bir e-ticaret sitesinde ödeme yaptığında “ödeme tamamlandı” adlı bir olay oluşur. Bu olay, sistemdeki merkezi bir Olay Kanalı (Event Channel) aracılığıyla yayınlanır. Ardından bu olayı dinleyen (listener) servisler (Event Consumers) tarafından algılanır. Her bir tüketici, kendi iş mantığına göre harekete geçer — örneğin, bir servis fatura oluşturmak için, diğeri stok güncellemek için, bir diğeri ise müşteriye e-posta göndermek için devreye girer. Bu iş akışı tamamen eşzamansız (asynchronous) gerçekleşir.

EDA genellikle üç temel bileşenden oluşur:

  • Event Producer (Olay Üretici): Olayı oluşturan kaynak (örneğin, sipariş veya ödeme sistemi).
  • Event Channel (Olay Kanalı/Broker): Olayın güvenilir bir şekilde iletildiği mesaj altyapısı (örneğin, Apache Kafka, RabbitMQ, AWS SNS/SQS).
  • Event Consumer (Olay Dinleyici/Tüketici): Olayı alıp kendi görevini yerine getiren bağımsız bileşen (örneğin, bildirim veya lojistik servisi).

EDA’nın Avantajları ve Gücü

EDA’nın en büyük gücü Gevşek Bağlantı (Loose Coupling) sağlamasıdır. Servisler birbirini doğrudan tanımak zorunda olmadığı için, sistemin bir parçası bozulsa veya güncellense bile diğerleri çalışmaya devam eder. Bu durum Hata İzolasyonu sağlar. Olaylar anlık işlendiği için Gerçek Zamanlı Tepki verme yeteneği yükselir. Ayrıca, artan işlem yükünü sadece ilgili tüketici servisleri ölçekleyerek yönetebildiğiniz için Kolay Ölçeklenebilirlik elde edilir.

EDA Nerelerde Kullanılır?

Event-Driven mimari, özellikle modern mikroservis tabanlı sistemlerde, büyük hacimli veri işlenen IoT uygulamalarında, anlık durum takibi gereken finansal işlemlerde ve kompleks iş akışlarının olduğu e-ticaret platformlarında sıkça tercih edilir. Örneğin, bir e-ticaret sitesinde “ürün sepete eklendi” olayı, stok yönetimi, kişiselleştirilmiş öneri motoru ve dinamik indirim servisi gibi farklı servislerin aynı anda ve otomatik olarak devreye girmesini sağlar. Daha fazla bilgi için bizimle iletişime geçin.

İletişim