Olay odaklı bir mikro hizmet mimarisindeki değişiklikleri ele almak için seçenekleri araştırdığım bir araştırma projesi yapıyorum.
Diyelim ki dört farklı hizmet aldığımız bir uygulama var. Bu hizmetlerin her birinin yerel verileri depolamak için kendi veritabanı vardır.
Bu kurulumda, dört hizmet bir Olay Veri Yolu kullanarak birbirleriyle iletişim kurar. Bir hizmette bir şey olduğunda, bir olay yayınlar. Bu etkinlikle ilgilenen diğer tüm hizmetler, etkinliği kendi yöntemleriyle işleyecektir.
Bu durumda mimarideki farklı hizmetlerin bu olayların içeriği (nitelikler vb.) Hakkında "sözleşmeleri" olması gerekir. Dolayısıyla hizmetlerin bu olaylara "gevşek bağlı bağımlılıkları" var
Sorum şu: Bu olaylardaki değişiklikleri nasıl ele alabiliriz?
Diyelim ki A hizmeti uygulamadaki yeni kullanıcıları kaydetti. Bu yüzden bir "" UserRegistered "olayı gönderir. Service B bu olayı alır ve işler. C hizmeti ekibindeki bazı geliştiriciler de kayıtlı kullanıcının cinsiyetine ihtiyaç duyduklarına karar verdiler. "UserRegistered" etkinliğine eklenir.
Hizmet B'nin yeniden konuşlandırmadan aynı etkinliği bu ekstra özellikle almaya devam etmesini nasıl sağlayabiliriz?
Ve bu soruna yaklaştıktan sonra bu olayları versiyonlamanın başka yolları var mı?