Etkinlik Drrives, Bölüm 4: Etkinliğe dayalı mimari ve ne değil

Etkinlik tabanlı mimari (etkinliklere dayalı etkinlikler veya kısaca EDA) son yıllarda popüler bir anahtar kelime haline geldi. Birçok sistem kendilerini olaylara dayalı olarak tanımlar, ancak çoğu zaman EDA'nın ne olduğunu gerçekten yapmadan.

Golo Roden, yerel web GmbH'nin kurucusu ve CTO'sudur. Olaylara ve hizmetlere dayalı olarak dağıtılmış mimarilere özellikle dikkat ederek web ve bulut uygulamalarının ve arıların anlayışı ve geliştirilmesi ile ilgilidir. Yol gösterici ilkesi, yazılımın gelişiminin kendi başına bir son olmaması, ancak her zaman aşağıda bir profesyonellik izlemesi gerektiğidir.

Serinin bu bölümünde, olaylara dayalı mimarinin gerçekte ne olduğunu ve sıklıkla yanlış anlamaların ne olduğunu açıklığa kavuşturmak istiyoruz.

EDA'nın ne anlama geldiğini tanımlamadan önce, ne olduğunu açıklığa kavuşturmak yararlıdır. Olumsuz VE.

Birincisi: Pub/Sub, olay bazlı bir mimari değildir. Birçok sistem, sözde, kuyruklar veya otobüsler olarak adlandırılan konularla çalışır: bir halka açık mesaj, diğeri onları tüketir. Teknik olarak, bu pub/sub – bir haber modeli.

Ancak: tek kişi etkinliğe dayalı bir mimari oluşturmaz. Mesajlar genellikle “9.99 EUR fiyatını belirleyin” veya “Envanteri Güncelle” gibi gerçek anlamda olaylarla hiçbir ilgileri olmadığı konusunda gönderilir.

Bu mesajlar gerçekleri değil, talimatları tanımlamaktadır, bu yüzden daha fazla kontrol.

Bazı sistemler tüm veri nesnelerini “ürün değiştirildi” veya “sipariş güncellendi”, genellikle mevcut durumun tam kopyası dahil olaylarla gönderir. Buna “olaylar tarafından taşınan devletin transferi” denir.

Burada da “etkinlik” kelimesi oyunda, ancak belgelenmiş ve yorumlanabilir bir hikaye değil. Artık bir taşıma mekanizması, artık değil. EDA ise veritabanları değil, teknik olayları üstlenir.

EDA genellikle belirli araçlar veya teknolojilerle ilişkilidir: Kafka, Eventbridge, Tavşan CM vb. Ama bu araçlar EDA değil – mümkün kılmak Belki sen, ama sen Ben HAYIR.

Olaylara dayanan mimari ilk olarak bir düşünce modelidir: Sistemleri, profesyonellik olayında neler olduğuna dayanacak şekilde tasarlama meselesidir.

Olaylara dayanan bir mimari aşağıdaki ilkelere dayanmaktadır:

  • Teknik olaylara dikkat edilir. Sistem, sadece mevcut durumun nasıl göründüğünü değil, ne olduğunu belgeliyor.
  • Süreçler olaylara tepkiden kaynaklanmaktadır. Sistemler olaylara tepki verir – senkron veya asenkron – ve yeni eylemler veya kararlar türetir.
  • Süreçler serbestçe birleştirilir. Bireysel bileşenler birbirleri hakkında çok az şey biliyorlar: doğrudan görüş alışverişinde bulunmazlar, ancak birlikte dahil edilen olaylara tepki verirler.
  • Mimarlık profesyonellik gösterir. Kodun, iletişimin ve süreçlerin yapısı, şirkette veya alanda gerçekte neler olduğunu takip eder.

CQRS (komut sorgusunun sorumluluğunun ayrılması), EDA bağlamında sıklıkla görünen mimari bir ilkedir. Bu: Yazma ve okuma erişimi ayrı ayrı ele alınır. Değişiklikler komutlar yoluyla yapılır, optimize edilmiş projeksiyonlara yasaların erişimini okur.

CQRS EDA için bir zorunluluk değildir, ancak birçok zorluğu zarif bir şekilde çözdüğü için çok iyi adapte olur:

  • Komutlar olaylara yol açar.
  • Olayları güncelleyin.
  • Sorgu Yalnızca projelerden okuyun.

Sonuç, net sorumlulukları, çıkarılmış süreçlere ve yüksek izlenebilirliğe sahip bir sistemdir.

Bir sonraki bölüm, olaylara dayalı olaylarla çalışırsanız hangi özelliklerin iyi olaylar oluşturulduğunu ve hangi tipik tuzaklardan kaçınılması gerektiğini gösterecektir.


(Mayıs)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir