olay kaynaklı mimari ne demek?

Olay Kaynaklı Mimari (Event-Driven Architecture - EDA), sistemlerin olaylar etrafında tasarlandığı bir mimari modeldir. Bu mimaride, bir olay (event) bir durum değişikliğini veya önemli bir olguyu temsil eder ve sistemdeki diğer bileşenler bu olaylara tepki vererek çalışır.

Temel Kavramlar:

  • Olay (Event): Sistemde meydana gelen anlamlı bir durum değişikliğini temsil eden bir mesajdır. Örneğin, bir siparişin oluşturulması, bir ödeme işleminin tamamlanması veya bir sensörden gelen bir veri okuması birer olay olabilir. (Olay (Event))
  • Üretici (Producer): Olayları üreten ve yayan bileşendir. Üretici, olayın içeriği ve türü hakkında bilgi sağlar ancak olayı tüketenler hakkında bilgi sahibi olmak zorunda değildir.
  • Tüketici (Consumer): Olayları dinleyen ve bunlara tepki veren bileşendir. Tüketici, ilgilendiği olay türlerine abone olur ve ilgili olaylar geldiğinde belirli bir işlemi gerçekleştirir.
  • Olay Yöneticisi (Event Broker/Message Broker): Olayların üreticilerden tüketicilere güvenilir bir şekilde iletilmesini sağlayan aracıdır. Olay yöneticisi, olayları filtreleyebilir, dönüştürebilir ve yönlendirebilir. (Olay Yöneticisi)

Olay Kaynaklı Mimari'nin Avantajları:

  • Gevşek Bağlantı (Loose Coupling): Bileşenler arasındaki bağımlılık azalır. Üreticiler ve tüketiciler doğrudan birbirlerini bilmek zorunda olmadığından, sistem daha modüler ve esnek hale gelir.
  • Ölçeklenebilirlik (Scalability): Olay yöneticisi, olayları birden fazla tüketiciye dağıtabilir, bu da sistemin yükünü dengelemeye ve performansı artırmaya yardımcı olur.
  • Gerçek Zamanlı İşleme (Real-time Processing): Olaylar anında işlenebilir, bu da sistemin gerçek zamanlı verilere tepki vermesini sağlar.
  • Esneklik (Flexibility): Yeni tüketici bileşenleri eklemek veya mevcut bileşenleri değiştirmek kolaydır, bu da sistemin değişen gereksinimlere uyum sağlamasını sağlar.

Olay Kaynaklı Mimari'nin Dezavantajları:

  • Karmaşıklık (Complexity): Olay akışlarının yönetimi ve hata ayıklama, geleneksel mimarilere göre daha karmaşık olabilir.
  • Tutarlılık (Consistency): Dağıtık sistemlerde veri tutarlılığını sağlamak zor olabilir.
  • Güvenilirlik (Reliability): Olay yöneticisinin ve diğer bileşenlerin güvenilirliği, sistemin genel güvenilirliğini etkiler.

Kullanım Alanları:

Olay kaynaklı mimari, özellikle aşağıdaki alanlarda yaygın olarak kullanılır:

  • Mikroservisler (Microservices): Mikroservisler arasındaki iletişimi sağlamak için. (Mikroservisler)
  • Nesnelerin İnterneti (IoT): Sensörlerden gelen verileri işlemek ve cihazları kontrol etmek için. (Nesnelerin%20İnterneti)
  • Finansal Sistemler (Financial Systems): Gerçek zamanlı piyasa verilerini işlemek ve işlem yapmak için.
  • E-ticaret (E-commerce): Siparişleri, ödemeleri ve envanteri yönetmek için.