Fatihsoysal.com

Freelance Proje İş Alımı


Merhaba, şu anda anahtar teslim freelance proje iş alımları için uygunum.
Tekliflerinizi buradan yada fatihsoysal@outlook.com e-posta adresi üzerinden benimle paylaşabilirsiniz. Çok kısa bir süre içerisinde tarafınıza geri dönüş sağlanacaktır.

Kategoriler


Olay Tabanlı Mimari – Örnek Proje Ä°ncelemesi – ETicaret

Fatih SoysalFatih Soysal

içerik

  1. GiriÅŸ
  2. Örnek
  3. BileÅŸenler
  4. Desen Analizi
  5. Kullanım Durumları
  6. Sonuçlar

1. GiriÅŸ

Olay tabanlı mimari (EDA) modeli, yüksek düzeyde ölçeklenebilir uygulamalar üretmek için kullanılan popüler bir dağıtılmış eşzamansız mimari modelidir. EDA, olayları eşzamansız olarak alan ve işleyen yüksek oranda ayrılmış, tek amaçlı bileşenlerden oluşur.

2. Örnek

Olay tabanlı mimariyi bir e-ticaret sitesi örneği ile karakterize edeceğiz. Mimari, sitenin, yoğun talep zamanlarında, uygulamayı kilitlemeden veya kaynakları aşırı sağlamadan çeşitli kaynaklardan gelen değişikliklere tepki vermesini sağlar.

3. BileÅŸenler

Olay güdümlü mimarilerin beÅŸ temel bileÅŸeni vardır: olay üreticileri, ilk ve iÅŸleme olayları, olay yönlendiricileri ve olay tüketicileri. Bir üretici, yönlendiriciye, iÅŸleme olaylarını filtreleyen ve tüketicilere ileten bir ilk olay yayınlar. Ãœretici ve tüketici hizmetleri birbirinden ayrılarak ölçeklendirilmelerine, güncellenmelerine ve bağımsız olarak dağıtılmalarına olanak tanır.

3.1 Etkinlik Yapımcıları

Örnekte, Etkinlik Ãœreticileri bir perakende web sitesi, mobil uygulama ve satış noktası terminali ile temsil edilmektedir. Prensipte, bir olguyu kaydeden ve olguyu bir olay mesajı olarak temsil eden herhangi bir ÅŸey üretici olabilir.

3.2 Olaylar

Ä°lk etkinlik ise, Ãœretici tarafından üretilen ve yönlendirici tarafından alınan orijinal olay iÅŸleme olayları Olay Yönlendirici tarafından oluÅŸturulan ve Etkinlik Tüketici bileÅŸenleri tarafından alınan olanlardır.

Olaylar, durumu (satın alınan ürün, fiyatı ve teslimat adresi) taşıyabilir veya olaylar tanımlayıcı olabilir (siparişin gönderildiğine dair bir bildirim).

Bir olay genellikle iki bölümden oluÅŸur: 1) olay baÅŸlığı , olay adı, zaman damgası ve olay türü gibi bilgileri içerir; 2) olay gövdesi, algılanan durum deÄŸiÅŸikliÄŸinin ayrıntılarını saÄŸlar.

3.3 Kanallar

Hem ilk hem de iÅŸlenmiÅŸ olaylar olay kanalları tarafından iletilir .

Ä°lk olay kanalları bir TCP/IP baÄŸlantısı veya bir dosya (XML, JSON, e-posta vb.) olabilir. Aynı anda birkaç baÅŸlangıç ​​olay kanalı açılabilir. EÅŸzamansız olarak okunurlar ve neredeyse gerçek zamanlı olay iÅŸlemeye izin verirler. Olaylar, daha sonra Olay Yönlendiricisi tarafından iÅŸlenmeyi bekleyen bir kuyrukta saklanır.

Ä°ÅŸleme olay kanalları vardır tipik ileti kuyrukları ve mesaj simsarları tarafından temsil etti. Olayların birden çok Olay Tüketicisi (her biri alınan iÅŸleme olayına göre farklı bir görevi yerine getirir) tarafından yönetilebilmesi için en yaygın ÅŸekilde kullanılan ileti aracıları kullanılır.

3.4 Olay Yönlendiricisi

Olay Yönlendiricisi, bir baÅŸlangıç ​​olayının tanımlanmasından ve ardından olayda yer alan adımların seçilmesinden ve yürütülmesinden sorumludur . Ä°lk olaydaki her adım için, Olay Yönlendiricisi , daha sonra Olay Tüketicisi tarafından alınan ve iÅŸlenen bir olay kanalına eÅŸzamansız olarak bir iÅŸleme olayı gönderir .

Event Router ayrıca bir dizi iddiayı tetikleyebilir. Ã–rneÄŸin, olay iÅŸleme motoruna gelen olay, stokta düşük bir ürün kimliÄŸi ise, bu durum “Ãœrün KimliÄŸi sipariÅŸ et” ve “Personele haber ver” gibi tepkileri tetikleyebilir.

Olay Yönlendiricisinin ilk olayı iÅŸlemek için gerekli iÅŸ mantığını gerçekleÅŸtirmediÄŸini belirtmek önemlidir  Olay Tüketicileri arasında â€Šuygun talimatları (= iÅŸlem olayları ) dağıtır .

3.5 Etkinlik Tüketicileri

Örnekte, Etkinlik Tüketicileri, Yönetim Veritabanı, Finans Sistemi ve Müşteri İlişkileri ofisi tarafından temsil edilmektedir.

Bu bileÅŸenler, iÅŸleme olayını iÅŸlemek için gerekli olan uygulama iÅŸ mantığını içerir . Olay Tüketicileri, uygulamada veya sistemde belirli bir görevi yerine getiren bağımsız, bağımsız, yüksek düzeyde ayrıştırılmış mimari bileÅŸenlerdir. Etkinlik Tüketicisi bileÅŸeninin ayrıntı düzeyi, ayrıntılı (örneÄŸin, sipariÅŸ üzerine satış vergisini hesaplama) ile kaba (örneÄŸin, bir sigorta talebini iÅŸleme koyma) arasında deÄŸiÅŸebilse de, genel olarak, her Etkinlik Tüketicisinin tek bir iÅŸ görevini yerine getirmeli ve belirli görevini tamamlamak için diÄŸer tüketicilere güvenmemelidir.

4. Kalıp Analizi

4.1 Ölçeklenebilirlik: yüksek

Her olay tüketicisi ayrı ayrı ölçeklenebilir, bu da ince taneli ölçeklenebilirliğe izin verir.

4.2 Geliştirme karmaşıklığı: yüksek

Modelin eşzamansız doğasının yanı sıra sözleşme oluşturma ve yanıt vermeyen olay işlemcileri ve başarısız aracılar için kod içinde daha gelişmiş hata işleme koşullarına duyulan ihtiyaç nedeniyle karmaşıktır.

4.3 Performans: yüksek

Eşzamansız yetenekler aracılığıyla yüksek performans: Ayrılmış, paralel eşzamansız işlemleri gerçekleştirme yeteneği, mesajları kuyruğa alma ve kuyruktan çıkarma maliyetinden daha ağır basar.

4.4 Test edilebilirlik: düşük

Bireysel birim testi aşırı zor olmasa da, olaylar oluÅŸturmak için bir tür özel test istemcisi veya test aracı gerektirir. Test, bu kalıbın eÅŸzamansız doÄŸası nedeniyle de karmaşıktır.

4.5 Değiştirilebilirlik: yüksek

Olay-tüketici bileşenleri tek amaçlı olduğundan ve diğer olay tüketici bileşenlerinden tamamen ayrıldığından, değişiklikler genellikle bir veya birkaç olay tüketicisine yalıtılır ve diğer bileşenleri etkilemeden hızlı bir şekilde yapılabilir.

5. Kullanım durumları

5.1 Hesaplar arası, bölgeler arası veri çoğaltma

Farklı bölgelerde ve hesaplarda faaliyet gösteren ve dağıtan ekipler arasındaki sistemleri koordine edin. Sistemler arasında veri aktarmak için bir olay yönlendiricisi kullanarak, hizmetleri diÄŸer ekiplerden bağımsız olarak geliÅŸtirebilir, ölçeklendirebilir ve dağıtabilirsiniz.

5.2 Fanout ve paralel iÅŸleme

Bir olaya yanıt olarak çalışması gereken çok sayıda sisteminiz varsa, her bir tüketiciye göndermek için özel kod yazmak zorunda kalmadan olayı dağıtmak için olaya dayalı bir mimari kullanabilirsiniz. Yönlendirici, olayı farklı bir amaç doÄŸrultusunda her biri olayı paralel olarak iÅŸleyebilen sistemlere iletir.

5.3 Kaynak durumu izleme ve uyarma

Kaynaklarınızı sürekli olarak kontrol etmek yerine, herhangi bir anormallik, deÄŸiÅŸiklik ve güncellemeyi izlemek ve bunlarla ilgili uyarıları almak için olaya dayalı bir mimari kullanabilirsiniz. Bu kaynaklar, depolama paketleri, veritabanı tabloları, sunucusuz iÅŸlevler, bilgi iÅŸlem düğümleri ve daha fazlasını içerebilir.

5.4 Heterojen sistemlerin entegrasyonu

Farklı yığınlarda çalışan sistemleriniz varsa, bunlar arasında baÄŸlantı olmadan bilgi paylaÅŸmak için olaya dayalı bir mimari kullanabilirsiniz. Olay yönlendiricisi, sistemler arasında dolaylılık ve birlikte çalışabilirlik kurar, böylece agnostik kalırken mesaj ve veri alışveriÅŸi yapabilirler.

6. Sonuçlar

  1. Olay tabanlı mimari, ayrıştırılmış hizmetler arasında tetiklemek ve iletişim kurmak için olayları kullanır ve mikro hizmetlerle oluşturulmuş modern uygulamalarda yaygındır.
  2. Olay tabanlı mimari şu temel bileşenlere sahiptir: olay üreticileri, olay kanalları, ilk ve işleme olayları, olay yönlendiricileri ve olay tüketicileri.
  3. Olay tabanlı mimari, yüksek düzeyde ölçeklenebilir, kolayca değiştirilebilir ve eşzamansız doğası nedeniyle yüksek performanslıdır, ancak modelin geliştirme karmaşıklığı yüksektir ve test edilmesi önemsiz değildir.
  4. Olay tabanlı mimari kullanım örnekleri arasında hesaplar arası ve bölgeler arası veri çoğaltma; yayma ve paralel işleme; kaynak durumu izleme ve uyarma; heterojen sistemlerin entegrasyonu.

Kullanım ve kodlama mükemmeliyetini odak alan uygulamalar oluşturma deneyimine sahip, profesyonel olarak 15+ yıl üzeri deneyime sahip bir yazılım mühendisi.

    Subscribe
    Bildir
    guest

    0 Yorum
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x