Mimari (IT)Çözüm Mimarı

Olay odaklı mimari (Event-Driven Architecture, EDA) nedir ve hangi sorunları çözer?

Hintsage yapay zeka asistanı ile mülakatları geçin

Cevap.

Olay odaklı mimari (EDA), sistem bileşenlerinin olaylar aracılığıyla etkileşimde bulunduğu bir yaklaşımdır: meydana gelen değişiklikler veya eylemlerle ilgili iletiler. Sistem, olay üretenler (producers), olay tüketicileri (consumers) ve olayları ileten bir mesaj otobüsü (message bus, broker) içermektedir.

EDA, esnek bir şekilde ölçeklenebilir ve zayıf bağlı sistemler yaratmaya olanak tanır. Bir bileşendeki değişiklik, diğerlerinin değiştirilmesini gerektirmez: yalnızca olayların üretilmesi ve işlenmesi gerekir.

Kod örneği (Node.js'te olay üretimi ve işlenmesi):

const EventEmitter = require('events'); class MyEmitter extends EventEmitter {} const emitter = new MyEmitter(); // Olay işleyici emitter.on('userCreated', (user) => { console.log('Kullanıcı oluşturuldu:', user); }); // Olay üretimi emitter.emit('userCreated', { id: 1, name: 'Ivan' });

Anahtar özellikler:

  • Bileşenler arasında zayıf bağlılık sağlar
  • Olaylara tepki mantığını genişletmek ve değiştirmek kolaydır
  • Etkileşimlerin kaliteli bir şekilde tasarlanması ve izlenmesini gerektirir

Yanıltıcı sorular.

EDA, mikro hizmet mimarisinin zıttı mıdır?

Hayır, bu zıt değildir. Mikro hizmetler genellikle hizmetler arasında iletişim için EDA'yı kullanır.

EDA sadece mesaj brokerları ile mi kullanılabilir?

Gerekli değildir. Yerel olaylar (örneğin, Observer desenini kullanarak) da EDA'yı gerçekleştirir, ancak brokerlar dağıtık sistemler kurmayı mümkün kılar.

EDA, verilerin değişmezliğini garanti eder mi?

Hayır. EDA, bileşenlerin etkileşimi ile ilgilidir; yeniden işleme dayanıklılığı (idempotency) ve veri tutarlılığını açıkça gerçekleştirmek gerekir.