Bu örnek mimari, Temel kurumsal tümleştirme mimarisi üzerine kurulmuştur. Daha fazla ölçeklenebilirlik ve güvenilirlik için hizmetleri ayrıştırmak için ileti aracılarını ve olayları kullanarak kurumsal arka uç sistemlerinin nasıl tümleştirildiğini göstermek için bu mimariyi genişletir. Bu tasarıma ve temel tümleştirme mimarisinde kullanılan bileşenlere aşina olduğunuzdan emin olun. Bu mimarinin temel bileşenleri hakkında temel bilgiler sağlar ve bu bileşenler burada yeniden üretilmeyecektir.
Mimari
Bu tasarımda başvuruda bulunılan arka uç sistemleri hizmet olarak yazılım (SaaS) sistemlerini, Azure hizmetlerini ve kuruluşunuzdaki mevcut web hizmetlerini içerebilir.
Bu mimarinin bir Visio dosyasını indirin.
Workflow
Burada gösterilen mimari, Temel kurumsal tümleştirmede gösterilen daha basit bir mimariyi temel alır. Bu mimaride iş akışlarını doğrudan arka uç sistemleriyle ve API Management ile düzenleyip API katalogları oluşturmak için Logic Apps kullanılır.
Mimarinin bu sürümü, sistemi daha güvenilir ve ölçeklenebilir hale getirmesine yardımcı olan iki bileşen ekler:
Azure Service Bus. Service Bus güvenli ve güvenilir bir ileti aracısıdır.
Azure Event Grid. Event Grid bir olay yönlendirme hizmetidir. Yayımlama/abone olma (pub/sub) olay modelini kullanır.
İleti aracısı kullanan zaman uyumsuz iletişim, arka uç hizmetlerine doğrudan, zaman uyumlu çağrılar yapma konusunda aşağıdaki avantajları sağlar:
- Kuyruk Tabanlı Yük Dengeleme desenini kullanarak iş yüklerindeki artışları işlemek için yük dengeleme sağlar.
- Publisher-Abone desenini kullanarak iletilerin birden çok tüketiciye yayınlanması için sağlar.
- Birden çok adım veya birden çok uygulama içeren uzun süre çalışan iş akışlarının ilerleme durumunu güvenilir bir şekilde izler.
- Uygulamaların ayrıştırılmalarına yardımcı olur.
- Mevcut ileti tabanlı sistemlerle tümleşir.
- Arka uç sistemi kullanılabilir olmadığında işin kuyruğa alınmasına izin verir.
Event Grid, sistemdeki çeşitli bileşenlerin yoklamaya veya zamanlanmış görevlere güvenmek yerine olaylara oldukları gibi tepki vermelerini sağlar. bir ileti kuyruğu ve konu başlığında olduğu gibi, uygulama ve hizmetlerin ayrıştırılmalarına yardımcı olur. Bir uygulama veya hizmet olayları yayımlayabilir ve ilgili abonelere bildirim gönderilir. Gönderen güncelleştirilmeden yeni aboneler eklenebilir.
Birçok Azure hizmeti Event Grid'e olay göndermeyi destekler. Örneğin, bir mantıksal uygulama blob deposuna yeni dosyalar eklendiğinde bir olayı dinleyebilir. Bu düzen, bir dosyayı karşıya yüklemenin veya kuyruğa ileti yerleştirmenin bir dizi işlemi başlattığı reaktif iş akışlarını etkinleştirir. İşlemler paralel veya belirli bir sırada yürütülebilir.
Öneriler
Temel kurumsal tümleştirmede açıklanan öneriler bu mimari için geçerlidir.
Service Bus
Service Bus' ın çekme veya proksit gönderme şeklinde iki teslim modu vardır. Çekme modelinde, alıcı sürekli olarak yeni iletileri yoklar. Özellikle her biri birkaç ileti alan çok sayıda kuyruğunuz varsa veya iletiler arasında çok fazla zaman varsa yoklama verimsiz olabilir. Prxied push modelinde Service Bus, yeni iletiler olduğunda Event Grid aracılığıyla bir olay gönderir. Alıcı olaya abonedir. Olay tetiklendiğinde, alıcı Service Bus'tan bir sonraki ileti toplu işlemini çeker.
Service Bus iletilerini kullanmak için bir mantıksal uygulama oluşturduğunuzda, Event Grid tümleştirmesi ile prxied anında iletme modelini kullanmanızı öneririz. Mantıksal uygulamanın Service Bus'ı yoklaması gerekmediğinden genellikle daha uygun maliyetlidir. Daha fazla bilgi için bkz . Azure Service Bus to Event Grid tümleştirmesine genel bakış. Şu anda Event Grid bildirimleri için Service Bus Premium katmanı gereklidir.
Bir ileti grubuna erişmek için PeekLock kullanın. PeekLock kullandığınızda, mantıksal uygulama iletiyi tamamlamadan veya bırakmadan önce her iletiyi doğrulamak için adımlar gerçekleştirebilir. Bu yaklaşım, yanlışlıkla ileti kaybına karşı koruma sağlar.
Event Grid
Event Grid tetikleyicisi tetiklendiğinde en az bir olay olduğu anlamına gelir. Örneğin, bir mantıksal uygulama Service Bus iletisi için Event Grid tetikleyicileri aldığında, birkaç iletinin işlenebileceğini varsaymalıdır.
Dikkat edilmesi gerekenler
Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.
Güvenilirlik
Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.
- Microsoft Entra Id: Microsoft Entra ID, genel olarak dağıtılmış, yüksek oranda kullanılabilir bir SaaS platformudur. Garantili kullanılabilirlik ayrıntıları için SLA'ya bakın.
- API Management: API Management, iş gereksinimleri ve maliyet toleransı doğrultusunda birçok yüksek oranda kullanılabilir yapılandırmada dağıtılabilir. Seçeneklerin tam gözden geçirilmesi için API Management kullanılabilirliğini ve güvenilirliğini sağlama bölümüne bakın. Garantili kullanılabilirlik ayrıntıları için SLA'ya da bakın.
- Logic Apps: Coğrafi olarak yedekli depolama, Tüketim planı katmanında Logic Apps için kullanılabilir. İş sürekliliği ve olağanüstü durum kurtarma çözümü tasarlama hakkında bilgi için kılavuza bakın. Garantili kullanılabilirlik ayrıntıları için SLA'ya da bakın.
- Event Grid: Konu başlıkları, sistem konuları, etki alanları ve olay abonelikleri ile olay verileri için Event Grid kaynak tanımları, bölgedeki üç kullanılabilirlik alanında (varsa) otomatik olarak çoğaltılır. Kullanılabilirlik alanlarından birinde hata olduğunda, Event Grid kaynakları herhangi bir insan müdahalesi olmadan otomatik olarak başka bir kullanılabilirlik alanına yük devreder. Başka bir bölgeye yük devretme için olağanüstü durum kurtarma çözümü tasarlama yönergeleri için bölgeler arasında coğrafi olağanüstü durum kurtarma bölümüne bakın. Garantili kullanılabilirlik ayrıntıları için SLA'ya da bakın.
- Service Bus: Service Bus Premium, Coğrafi olağanüstü durum kurtarma ve Kullanılabilirlik Alanları destekler. Service Bus Standard için çoğaltma kullanılabilir. Garantili kullanılabilirlik ayrıntıları için SLA'ya da bakın.
Güvenlik
Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.
Service Bus'ın güvenliğini sağlamak için yönetilen kimliklerle eşleştirilmiş Microsoft Entra kimlik doğrulamasını kullanın. Service Bus kaynakları için Microsoft Entra tümleştirmesi, istemcinin kaynaklara erişimi üzerinde ayrıntılı denetim için Azure rol tabanlı erişim denetimi (RBAC) sağlar. Kullanıcı, grup veya uygulama hizmet sorumlusu (bu örnekte yönetilen kimlik) olabilecek bir güvenlik sorumlusuna izin vermek için Azure RBAC kullanabilirsiniz.
Microsoft Entra Kimliği'nin kullanılamadığı durumlarda, paylaşılan erişim imzası (SAS) kullanabilirsiniz. SAS kimlik doğrulamasını kullanarak belirli haklara sahip Service Bus kaynaklarına bir kullanıcıya erişim vekleyebilirsiniz.
Bir Service Bus kuyruğu veya konusunu HTTP uç noktası olarak kullanıma sunmanız gerekiyorsa(örneğin, yeni iletiler göndermek için) uç noktayı önleyerek kuyruğun güvenliğini sağlamak için API Management'ı kullanın. Daha sonra sertifikalarla veya OAuth kimlik doğrulamasıyla uygun şekilde uç noktanın güvenliğini sağlayabilirsiniz. Bir uç noktanın güvenliğini sağlamanın en kolay yolu, aracı olarak HTTP isteği/yanıt tetikleyicisi olan bir mantıksal uygulama kullanmaktır.
Event Grid hizmeti bir doğrulama kodu aracılığıyla olay tesliminin güvenliğini sağlar. Olayı kullanmak için Logic Apps kullanırsanız doğrulama otomatik olarak gerçekleştirilir. Daha fazla bilgi için bkz . Event Grid güvenliği ve kimlik doğrulaması.
Ağ güvenliği
Tasarım boyunca ağ güvenliği dikkate alınmalıdır.
- Service Bus Premium , yalnızca yetkili sanal ağlardan gelen trafiği kabul etmek için ad alanının güvenliğini sağlayarak bir sanal ağ (VNet) alt ağ hizmet uç noktasına bağlanabilir. Ayrıca, sanal ağ trafiğinizi Özel Bağlantı üzerinden özel trafiğe kilitlemek için özel uç noktaları kullanın.
- Logic Apps Standard ve Premium Logic Apps, özel uç noktalar aracılığıyla gelen trafiği kabul etmek ve sanal ağ tümleştirmesi aracılığıyla giden trafik göndermek için yapılandırılabilir.
- API Management , Azure sanal ağı kullanarak API Management örneğinize ve API'lerinize erişimin güvenliğini sağlamak için çeşitli seçenekler sağlar. Seçeneklerin ayrıntılı bir incelemesi için Azure API Management ile sanal ağ kullanma belgelerine bakın. Özel uç noktalar da desteklenir.
Maliyet İyileştirmesi
Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.
Genel olarak, maliyetleri tahmin etmek için Azure fiyatlandırma hesaplayıcısını kullanın. Burada dikkat edilmesi gereken diğer bazı noktalar bulunmaktadır.
API Management
Çalışırken tüm API Management örnekleri için ücretlendirilirsiniz. Ölçeği artırdıysanız ve her zaman bu performans düzeyine ihtiyacınız yoksa otomatik ölçeklendirmeyi el ile azaltın veya yapılandırın.
Hafif kullanım iş yükleri için düşük maliyetli, sunucusuz bir seçenek olan tüketim katmanını göz önünde bulundurun. Tüketim katmanı API çağrısı başına faturalandırılırken, diğer katmanlar saat başına faturalandırılır.
Logic Apps
Logic Apps sunucusuz bir model kullanır. Faturalama, eylem ve bağlayıcı yürütme temelinde hesaplanır. Daha fazla bilgi için bkz. Logic Apps fiyatlandırması.
Service Bus kuyrukları, konuları ve abonelikleri
Service Bus kuyrukları ve abonelikleri, iletileri teslim etmek için hem anında iletme hem de çekme modellerini destekler. Çekme modelinde, her yoklama isteği bir eylem olarak ölçülür. 30 sn'lik (varsayılan) uzun yoklamalarda bile maliyet yüksek olabilir. İletilerin gerçek zamanlı teslim edilmesine ihtiyacınız yoksa, prxied push modelini kullanmayı göz önünde bulundurun.
Service Bus kuyrukları tüm katmanlara (Temel, standart ve premium katmanlar) dahil edilir. Service Bus konuları ve abonelikleri standart ve premium katmanlarda kullanılabilir. Daha fazla bilgi için bkz . Azure Service Bus fiyatlandırması.
Event Grid
Event Grid sunucusuz bir model kullanır. Faturalama, işlem sayısına (olay yürütmeleri) göre hesaplanır. Olayların Etki Alanları veya Konu Başlıklarına girişi, gelişmiş eşleşmeler, teslim denemeleri ve yönetim çağrıları bu işlemlere dahildir. 100.000'e kadar işlemin kullanımı ücretsizdir.
Daha fazla bilgi için bkz . Event Grid fiyatlandırması.
Daha fazla bilgi için Microsoft Azure İyi Oluşturulmuş Mimari Çerçevesi makalesindeki maliyet bölümüne bakın.
Operasyonel Mükemmellik
Temel Kurumsal Tümleştirme başvuru mimarisi, İyi Tasarlanmış Çerçeve'nin Operasyonel Mükemmellik sütununa uygun DevOps desenleri hakkında rehberlik sağlar.
Kurtarma işlemlerini mümkün olduğunca otomatikleştirmek Operasyonel Mükemmellik'in ayrılmaz bir bileşenidir. Otomasyonu göz önünde bulundurarak Azure Günlük İzleme'yi Azure Otomasyonu ile birleştirerek Service Bus kaynaklarınızın yük devretmesini otomatikleştirebilirsiniz. Yük devretmeyi başlatmak için otomasyon mantığı örneği için yük devretme akışı belgelerindeki diyagrama bakın.
Performans verimliliği
Performans verimliliği, kullanıcılar tarafından anlamlı bir şekilde yerleştirilen talepleri karşılamak amacıyla iş yükünüzü ölçeklendirme becerisidir. Daha fazla bilgi için bkz . Performans verimliliği sütununa genel bakış.
Daha yüksek ölçeklenebilirlik elde etmek için Service Bus Premium katmanı, mesajlaşma birimi sayısının ölçeğini genişletebilir. Premium katmanı avantajlarını gözden geçirmek için Service Bus Premium ve Standart mesajlaşma katmanları belgelerine bakın. Ayrıca, mesajlaşma birimlerinin otomatik ölçeklendirmesini yapılandırma hakkında bilgi edinmek için otomatik ölçeklendirme özelliği belgelerine bakın.
Service Bus için daha fazla öneri, Service Bus Mesajlaşması kullanarak performans iyileştirmeleri için en iyi yöntemler'de bulunabilir.
Sonraki adımlar
Daha fazla bilgi için Service Bus belgelerine bakın:
- Azure Service Bus - Event Grid tümleştirmesine genel bakış
- Service Bus Premium ve Standart mesajlaşma katmanları
- Service Bus otomatik ölçeklendirme özelliği
- Service Bus Mesajlaşması kullanarak performans iyileştirmeleri için en iyi yöntemler