Olaylar, olaylara dayalı olayların temelidir (kısaca olaylara veya EDA'ya dayalı olaylar). Ne olduğunu belgeliyorlar ve bu nedenle bir sistemin merkezi gerçeği. Ancak tam olarak çok merkezi oldukları için, bunları doğru bir şekilde tasarlamak ve işlemek önemlidir.
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.
Bu bölümde, iyi olayların, sık engellerin ve sıklıkla tartışılan teknik soruların özelliklerine bir göz atıyoruz, ancak nadiren kritik.
Anlık yerine durum geçişleri
Bir olay bir anlık görüntü değil. Bir şeyin nasıl olduğunu açıklamıyor bakışAma ne olay VE. Bu temel bir farktır.
Örnek: “Kitap” statüsü değil, “kitap atandı”. Fark ince görünebilir, ancak geniş azaltma sonuçları olabilir:
- Bir anlık görüntü her zaman şimdi sadece bir fotoğrafıdır, bir etkinlik oradaki yolu açıklar.
- Anlık görüntüleri boğuyorsunuz, olaylar birbirine dayanıyor.
- Anlık görüntüler bağlamı kaybeder, olaylar geçmişi korur.
Bir sistemin durumuna sadece anlık görüntüler aracılığıyla bakarsanız, bu durumun nasıl oluşturulduğunu ve olaylara dayalı sistemlerin çok fazlaini gerçekten ayırt edildiğini artık anlayamazsınız.
Sipariş nadiren kritiktir, ancak zaten bağlam
Yaygın bir yanlış anlama: Olayların sırası kesinlikle çok önemlidir. Gerçekte, genellikle öyle değildir.
Belirli bir durumu hesaplamak istiyorsanız (“Mevcut hesabın bakiyesi nedir?”), En azından ilgili hesap içinde olaylara doğru sırada olaylara ihtiyacınız vardır. Ancak olaylara tepkilerle, örneğin projeler oluşturduğunuzda veya takip -up -up kampanyalarını etkinleştirdiğinizde -etkinliğin ne zaman geldiği önemli değildir. Önemli olup olmadığı ve doğru bir şekilde geliştirilip geliştirilmesi önemlidir.
Bu, siparişin asla bir rolü olmadığı anlamına gelmez. Ancak çok fazla sertleşirseniz, sistemleri gereksiz yere kırılgan hale getirin. Verilen etkinliklere dayanan sağlam sistemler:
- İdeal: Çoklu işleme herhangi bir hasar vermemelidir.
- Tamlık: İlgili tüm olaylar işlenmelidir.
- Doğru bağlam sınırları: Bir olay akışında, sipariş ek olarak önemli olabilir, çoğunlukla hayır.
Tutarlılık bir perspektif meselesidir
Klasik sistemlerde tutarlılık ikili bir kalitedir: sistem tutarlıdır ya da değil. Bu, olaylara dayalı sistemlerde daha farklılaşmıştır.
Küresel işlemler (atomiklik, tutarlılık, izolasyon, süre – asit) yerine agregalar içinde yerel bir tutarlılık vardır. İş (olası tutarlılık) çizgi boyunca çalışıyor: koşullar, orta vadeye tekrar uyum sağladıkları sürece kısa sürede ayrılabilir.
Bu yeniden düşünmeyi gerektirir, ancak aynı zamanda avantajlar da getirir:
- Sistemler ayrılır ve kısmi arızalardan daha sağlamdır.
- Her şey senkronize edilmemeli çünkü küçülme daha kolay hale gelir.
- Hafif gecikmelerin neden kabul edilebilir olmasının nedenini haklı çıkarmak genellikle kolaydır.
Örnek: Bir kullanıcı kitap döndürdü. İade hemen kredi sisteminde not edilir. Hatırlatma payının yalnızca beş saniye sonra “iptal edildiği” olarak işaretlenmesi çoğu durumda tolere edilebilir.
Olayların ne yapması gerekiyor ve ne değil
İyi Bir Etkinlik
- açıkça denir, profesyonel olarak doğru ve kararlı,
- Belgelenen bir gerçek, arzu veya ara durum yok,
- Tüm sistem durumu değil, sadece reaksiyon için gerekli bilgileri getirir
- Kaydedilir, yayınlanır ve ayrıntılıdır, ancak asla değişmemiştir.
Ne yapmamalı:
- Tüm bilgileri içermemelidir, bunun yerine genellikle bir referans yeterlidir (örneğin kimlik).
- Her hedef grup için mükemmel olmamalıdır çünkü projeler bilgi hazırlayabilir.
- “Bir kerede” ve büyük ve karışık karların sevgili küçük ve hedefli olaylarına izin vermemelidir.
Sırada ne var?
Bir sonraki bölümde pratik bir örnek giriyoruz: şehirde bir kütüphane. Teknik detaylarda kaybolmadan, olaylarla nasıl düşünüleceğine, model süreçlerini ve bir parça oluşturacağına bakalım.
(Mayıs)

Bir yanıt yazın