Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Service Bus, dağıtılmış uygulamalar ve hizmetler arasında güvenilir mesajlaşma sağlayan tam olarak yönetilen bir kurumsal ileti aracısıdır. Service Bus; dayanıklı mesajlaşma çözümleri oluşturmak için oturumlar, tekrar algılama, olmayan teslim mektupları ve gelişmiş yönlendirme özellikleri gibi özelliklerle ileti kuyrukları ve yayın-abone başlıkları sağlar.
Service Bus uygulamasının başarılı olması kuyruklar, konular, abonelikler ve oturumlar ve teslim edilemeyen ileti kuyrukları gibi Service Bus'a özgü özellikler de dahil olmak üzere temel mesajlaşma düzenlerinde derin uzmanlığa sahip takımlara bağlıdır. Teams'in her mesajlaşma senaryosu için doğru hizmeti seçmesi için Event Hubs ve Event Grid tümleştirme desenleri de dahil olmak üzere Azure mesajlaşma ekosistemi hakkında da iyi bir anlayışa sahip olması gerekir.
Bu makalede, bir mimar olarak mesajlaşma karar ağacını gözden geçirip iş yükünüz için mesajlaşma çözümü olarak Azure Service Bus'ı seçtiğiniz varsayılır.
Bu makaledeki kılavuz, Well-Architected Framework sütunları'nın ilkelerine dayalı mimari öneriler sağlar.
Teknoloji kapsamı
Bu gözden geçirme, aşağıdaki Azure kaynakları için birbiriyle ilişkili kararlara odaklanır:
- Azure Hizmet Otobüsü
Reliability
Güvenilirlik sütununun amacı, yeterli dayanıklılık ve hatalardan hızlı kurtarma olanağı oluşturarak sürekli işlevsellik sağlamaktır.
Güvenilirlik tasarım ilkeleri , tek tek bileşenler, sistem akışları ve bir bütün olarak sistem için uygulanan üst düzey bir tasarım stratejisi sağlar.
İş yükü tasarımı denetim listesi
Güvenilirlikiçin
Tasarım kısıtlamaları oluşturabilecek sınırları göz önünde bulundurun: Azure Service Bus kotaları ve katmana özgü sınırlar tasarımı etkiler. İleti işleme kapasitesi için size yeterli yer sağlayan ve yüksek maliyetli yeniden tasarlamayı önleyen bir katman seçin. Örneğin, tepe ve seri aktarım hızı değerlendirmeniz daha yüksek sınırları gösteriyorsa Premium uygun olabilir. Benzer şekilde, daha büyük yükler için Premium katmanını göz önünde bulundurun.
Uygulama mantığınızdaki özel durumları algılayın ve işleyin
QuotaExceeded. Bu durumda kuyruktan iletileri boşaltın veya ileti yaşam süresi ayarlarının depolama birikmeye neden olup olmadığını denetleyin. Kota aşılırken devam eden yeniden denemelerden kaçınmak için Devre Kesici desenini kullanın.Hata modu analizi aracılığıyla olası hataları tahmin edin: Hata modu analizi, olası hata senaryolarını tahmin etmeye ve mesajlaşma hizmeti dayanıklılığını sağlamak için azaltma stratejileri geliştirmeye yönelik sistematik bir yaklaşım sağlar.
Failure Mitigation Service Bus ad alanına erişilemiyor Service Bus kullanılabilirliği için uyarılar ayarlamak için Azure İzleyici'yi kullanın. İstemci SDK'den gelen özel durumları yakalayın ve bir yeniden denemenin uygun olup olmadığını belirlemek için IsTransientözelliğini kontrol edin. Kesintiler sırasında ikinci bir bölgeye otomatik geçişi sağlamak üzere coğrafi afet kurtarmayı yapılandırın.İleti işleme hataları zehirli iletiler oluşturur Teslim edilemeyen iletileri yalıtmak için teslim edilemeyen ileti kuyruklarını yapılandırın. Üstel geri çekilme ve devre kesici kalıplarıyla istemci yeniden deneme stratejilerini uygulayın. Yüksek ileti hacimleri aktarım hızı sınırlarını aşıyor Aktarım hızı ölçümlerini izlemek ve uyarıları ayarlamak için Azure İzleyici'yi kullanın. Trafik artışlarını işlemek için Premium katman mesajlaşma birimleri için otomatik ölçeklendirmeyi etkinleştirin. Çözüm katmanları arasında yedeklilik uygulayın: Yedeklilik, birden çok katmanda tek hata noktalarını ortadan kaldırarak güvenilir mesajlaşmayı sağlamaya yönelik kritik bir tekniktir.
Örnek Seviyesinde Yedeklilik: En temel düzeyde, örnek seviyesinde yedeklilik elde etmek için mesajlaşmayı ayrı Service Bus örnekleri arasında dağıtın. Bunun >için uygulamanın birden çok mesajlaşma uç noktasında özel yük devretme mantığı veya yük dengeleme stratejileri uygulaması gerekir.
Zonal-Level Yedeklilik: Veri merkezi düzeyindeki hatalara karşı koruma sağlamak için kullanılabilirlik bölgelerini etkinleştirin. Böyle bir hata durumunda uygulama geçici kesinti yaşayabilir; ancak Service Bus, sürekliliği korumak için ileti verilerini ve meta verileri birden çok kullanılabilirlik alanında otomatik olarak çoğaltır.
Bölge Düzeyi Yedeklilik: Daha fazla dayanıklılık gerektiren iş yükleri için bölge düzeyi yedekliliği uygulamayı göz önünde bulundurun. Bu, etkin veya pasif çoğaltma desenleri kullanılarak elde edilebilir:
- Etkin çoğaltma: İstemci her iki bölgeye de her iletiyi gönderir. Alıcı her ikisini de dinler. İstemcinin yinelenenleri atabilmesi için iletiler benzersiz bir tanımlayıcı gerektirir.
- Pasif çoğaltma: İstemci bir bölgeye gönderir ve hata oluştuğunda diğer bölgeye geri döner. Alıcı her ikisini de dinler. Bu, yinelenen iletileri azaltır, ancak alıcının yine de bunları işlemesi gerekir.
Premium katmanı gibi bu yedeklilik özelliklerini destekleyen bir Service Bus katmanı seçtiğinizden emin olun.
Olağanüstü durum kurtarma ve yedekleme stratejilerini uygulama: Çok bölgeli olağanüstü durum kurtarma, Service Bus coğrafi çoğaltma ve coğrafi olağanüstü durum kurtarma özellikleri aracılığıyla tam bölgesel hatalara karşı koruma sağlar. Premium katman ad alanları için coğrafi çoğaltma önerilir çünkü otomatik yük devretme özelliklerine sahip bölgeler arasında hem meta verileri hem de ileti verilerini çoğaltarak koruma sağlar.
Coğrafi çoğaltma zaman uyumlu ve zaman uyumsuz çoğaltma modları sunar: zaman uyumlu, daha yüksek gecikme süresiyle sıfır veri kaybı sağlarken, zaman uyumsuz yalnızca zorlamalı yükseltme senaryolarında olası veri kaybıyla performansı en aza indirir. Coğrafi olağanüstü durum kurtarma, yalnızca ad alanı meta verilerini ileti verileri olmadan çoğaltan bir alternatif olarak kullanılabilir durumda kalır ve uygulamaların kendi veri çoğaltmalarını işlediği senaryolar için uygundur.
Bölgesel kesintiler sırasında uygulamalar yükseltilen ikincil bölgede işlemlere devam edebilir. Coğrafi çoğaltma için kurtarma planlaması, yük devretme senaryoları sırasında çoğaltma gecikmesinin izlenmesi, terfi prosedürleri (planlı ve zorunlu) ve DNS yayılım zamanlamasını dikkate almalıdır.
Service Bus yerleşik ileti yedekleme özellikleri sağlamadığından, ileti düzeyi yedekleme stratejileri için uygulama düzeyinde uygulama gerekir. Yapılandırma yedeklemesi, olağanüstü durum kurtarma senaryoları sırasında ad alanı yeniden oluşturmayı etkinleştirmek için ad alanı meta verilerini, kuyruk ve konu tanımlarını ve erişim ilkelerini dışarı aktarmayı içerir.
Olağanüstü durum kurtarma, ileti sıralama garantilerinin, yük devretme senaryoları sırasında yinelenen işlemenin ve bölgeler arası gecikme süresi varyasyonlarını işlemek için uygulama düzeyinde yeniden deneme mantığının dikkate alınmasını gerektirir.
Değişken ileti yükleri için güvenilir ölçeklendirme uygulayın: Hata olmadan tutarlı aktarım hızını korumak için bölümleme stratejilerine ve eşzamanlı alıcı yapılandırmalarına bağlı güvenilir ileti işleme desenlerini kullanın. Yük dağıtarak ve tek hata noktalarını azaltarak işlem güvenilirliğini artırmak için kuyruk başına birden çok eşzamanlı alıcı yapılandırın. Oturuma olanak tanıyan kuyruklar, sıralı işlemi güvence altına alır ancak paralelliği oturum başına bir etkin alıcıyla sınırlandırarak olası güvenilirlik darboğazlarına neden olur.
Hataya dayanıklılık için iletileri birden çok ileti aracısı arasında dağıtmak için bölümlenmiş varlıkları kullanın, ancak bunlar sipariş garantilerini ve işlem tutarlılığını etkileyebilir. altyapı bağımlılıkları oluşturmadan işlemeyi birden çok tüketici uygulamasına dağıtan güvenilir fan-out senaryolarını etkinleştirmek için ileti filtreleme ile konu aboneliklerini yapılandırın.
Service Bus Premium katmanı, dinamik ileti birimlerini işlemek için öngörülebilir kapasiteye ve otomatik ölçeklendirme aktarım hızı birimlerine sahip ayrılmış mesajlaşma birimleri sağlar. Her mesajlaşma birimi, otomatik ölçeklendirme ile garantili gönderme ve alma limitleri sunar ve bu sayede trafik dalgalanmaları sırasında boğulmayı önler. Standart katman, değişken kapasiteye sahip paylaşılan altyapıyı kullanır, ancak ayrılmış aktarım hızı garantileri ve otomatik ölçeklendirme özelliklerine sahip değil.
Güvenilirlik odaklı izleme ve sistem durumu algılamayı uygulama: Güvenilir mesajlaşmayı sürdürmek için, olası sorunları işaretleyebilecek performans özelliklerini izlemek önemlidir. Şunlar gibi önemli göstergelere odaklanın:
- Birikme veya işleme gecikmelerini belirlemek için etkin mesaj sayısı eğilimleri.
- Altta yatan altyapı sorunlarını gösteren sunucu hataları.
- Kapasite kısıtlamalarını veya kaynak doygunluğunu gösteren sınırlama olayları.
İşlevsel ölçümlerin ötesinde aşağıdakiler gibi güvenilirlik odaklı göstergeler de dahil edilir:
- Tutarlı aktarım hızı sağlamak için ileti teslimi başarı oranları.
- Kalıcı teslim hatalarını ortaya çıkarabilen ölü mektup kuyruğu birikimi.
- Altyapı kesintileri sırasında dayanıklılığı izlemek için hata durumu olayını tespit etme.
İzlemeyi, iletiler yayımlayan veya kullanan bağlı uygulamalar ve dış hizmetleri kapsayan bağımlılık sağlığına genişletin. Mesajlaşma güvenilirliği akış zincirinin tamamına bağlı olduğundan, eşik değerler, hızlı ölü harf kuyruğu büyümesi veya bölgesel yük devretme olayları gibi teslim garantilerini tehlikeye atacak koşullar için uyarıları tetiklemek üzere yapılandırılmalıdır.
Kendini koruma mekanizmalarını ve dayanıklılık desenlerini yapılandırın: Service Bus, hataların mesajlaşma altyapısında geçiş yapmasını önlemek için tasarlanmış yerleşik kendini koruma mekanizmaları içerir. Bu korumalar üç düzeyde yapılandırılabilir: ileti düzeyi, istemci düzeyi ve ad alanı düzeyi.
Message-Level Koruması: Teslim edilemeyen iletileri otomatik olarak yalıtmak için ölü-harf kuyruklarını yapılandırın ve sağlıklı ileti akışını engellemelerini önleyin. İş yükü gereksinimlerinize göre maksimum teslim sayısı ve yaşam süresi (TTL) gibi parametreler ayarlayın.
Alıcı başarısız olursa iletilerin kaybolmadığından emin olmak için modu (Alma ve Silme değil) kullanın
PeekLock. Kilidin süresi dolarsa, ileti diğer alıcıların kullanımına sunulur. İleti teslim sayısı üst sınırını aşarsa, teslim edilemeyen ileti kuyruğuna geçer.Client-Level Koruması: Basamaklı hataları azaltmak için üstel geri alma ve devre kesici özellikleri içeren yerleşik yeniden deneme ilkeleriyle istemci SDK'larını kullanın. Özellikle yüksek aktarım hızı işlemleri sırasında kaynak tükenmesini azaltmak için bağlantı havuzu ve istemci önbelleği uygulayın.
Namespace-Level Yalıtımı: Farklı ortamlar veya iş yükü bileşenleri için ayrı Service Bus ad alanları kullanarak çapraz uygulama hatalarını önleyin. Ağ gecikme süresini azaltmak için ileti toplu gönderimi ve önceden getirme ayarlarını göz önünde bulundurun.
Yapılandırma önerileri
| Tavsiye | Fayda |
|---|---|
| Kullanılabilirlik alanlarını destekleyen bölgelerde alanlar arası yedeklilik ile Premium katmanı dağıtın. Premium katman, alanlar arası yedeklilik özellikleri için gereken ayrılmış altyapıyı sağlar. Yüksek kullanılabilirlik ve otomatik bölge düzeyinde hataya dayanıklılık sağlamak için bu özelliği tüm üretim mesajlaşma iş yükleri için etkinleştirin. |
El ile müdahale olmadan otomatik yük devretme sağlarken bölgesel altyapıdaki tek hata noktalarını ortadan kaldırır. Bölge hataları sırasında kurtarma süresini dakikalardan saniyelere kadar önemli ölçüde azaltarak kritik iş yükleri için sürekli ileti işleme kullanılabilirliği sağlar. |
| Premium katman ad alanları için meta verilerin ve ileti verilerinin bölgeler arasında çoğaltılmasıyla olağanüstü durum kurtarmayı etkinleştirmek amacıyla coğrafi çoğaltmayı yapılandırın. Sıfır veri kaybı için zaman uyumlu çoğaltmayı veya en düşük veri kaybı riskiyle iyileştirilmiş performans için zaman uyumsuz çoğaltmayı seçin. Alternatif olarak, yalnızca uygulamaların kendi veri kurtarma stratejilerini yönettiği meta veri çoğaltması gerektiren senaryolar için coğrafi olağanüstü durum kurtarma eşleştirmesini yapılandırabilirsiniz. |
Coğrafi çoğaltma, yapılandırılabilir tutarlılık modelleriyle planlı ve zorlamalı yükseltme senaryolarını destekleyen veri ve meta veri çoğaltması aracılığıyla bölgesel hatalara karşı koruma sağlar. Coğrafi olağanüstü durum kurtarma, özel veri çoğaltması veya olağanüstü durumlar sırasında kabul edilebilir ileti kaybı olan uygulamalar için uygun hafif ve yalnızca meta veriye dayalı koruma sunar. |
| Değişken ileti yüklemelerini otomatik olarak işlemek için Premium katman ad alanında otomatik ölçeklendirmeyi etkinleştirin. Performans düşüşünü önlemek için uygun eşiklerle CPU, bellek ve bağlantı ölçümlerine göre ölçeklendirmeyi yapılandırın. | Mesaj sınırlamasını trafik artışları sırasında ortadan kaldırırken hizmette düşüş yaşanmaksızın değişken iş yükü desenlerini destekler. Operasyon ekipleri için el ile kapasite yönetimi ek yükünü azaltır. |
| İleti işleme aktarım hızını ve hataya dayanıklılığı artırmak için birden çok eşzamanlı alıcıyı etkinleştirin. Paralelliği güvenilirlik gereksinimleriyle dengeleyen alıcı desenlerini yapılandırın. İleti sıralamanın yalnızca tek tek bölümler içinde garantili olduğunu anlayarak yükü birden çok ileti aracısı arasında dağıtmak için bölümlenmiş varlıkları kullanın. |
Gelişmiş ölçeklenebilirlik için yükü birden çok ileti aracısı arasında dağıtırken, paralel işleme özellikleriyle genel ileti aktarım hızını artırır. |
| Kritik Service Bus güvenilirlik ölçümleri için, teslim edilemeyen ileti sayısı eşiklerini, temel üzerinde sunucu hata oranlarını ve kapasite kısıtlamalarını gösteren azaltma olaylarını içeren Azure İzleyici uyarıları ayarlayın. | Güvenilirlik sorunları için ortalama algılama süresini azaltır ve kritik güvenilirlik olayları için otomatik uyarı sağlar. Kullanılabilirlik etkisinden önce kapasite kısıtlamalarını belirlerken ileti teslim sorunlarının proaktif olarak algılanması sağlar. |
| Tüm üretim ortamı kuyrukları ve konuları için bozuk ileti birikimini izlemek ve temizleme stratejileri uygulamak üzere uygun izleme yordamlarıyla dead letter kuyruklarını etkinleştirin. | Gereksiz veya problemli iletilerin sağlıklı ileti işlemeyi engellemesini önler ve ölü mektup kuyruğu inceleme özellikleri aracılığıyla işlem sorunlarının giderilmesini destekler. |
| Belirli bir geçmiş penceresinde yinelenen algılamayı etkinleştirin ve yinelenen iletilerin kuyruğa gönderilmesini önleyin. Bu özellik, alıcının aynı iletiyi birden çok kez işlemesini engellemez, bu nedenle yine de etkili uygulama mantığı gereklidir. |
Üretici yeniden denemeleri veya geçici ağ sorunları tarafından oluşturulan tekrarlı mesajları filtreler. Bu özellik, alıcının aynı iletiyi birden çok kez işlemesini engellemez, bu nedenle etkili uygulama mantığı yine de gereklidir, ancak yinelenen iletilere maruz kalma süresi azalır. |
| Ortamlar arasında yalıtım sağlamak ve ortamlar arası hata yayılmasını önlemek için ayrı ad alanları kullanın. Ad alanı düzeyinde güvenlik ve erişim denetimlerini uygun şekilde yapılandırın. Geçici hataları düzgün bir şekilde işlemek üzere, üstel geri çekilme ve devre kesici desenlerini kullanarak Service Bus istemci yeniden deneme ilkelerini uygulayın. |
Geçici hizmet sorunlarına karşı otomatik koruma sağlarken yeniden denemeleri şeffaf bir şekilde işleyerek uygulama karmaşıklığını azaltır. Ad alanı yalıtımı, ortamlar arası hata yayılmasını önler ve farklı iş yükü bileşenlerinin bağımsız olarak ölçeklenmesini ve yönetilmesini sağlar. |
| Ad alanı meta verileri ve tanımları içeren Azure Resource Manager şablonlarıyla otomatik Service Bus yapılandırma yedeklemesi oluşturun. Kuyruk tanımları, konu abonelikleri ve erişim ilkeleri sürüm denetimi aracılığıyla yedekleme gerektirir. | Otomatik yedekleme yordamları el ile çabayı ve insan hatasını azaltırken, mesajlaşma altyapısı değişiklikleri için sürüm denetimi yönetimi geliştirir. Otomasyon aracılığıyla kurtarma süresi hedeflerini azaltır ve kurtarma yordamları sırasında insan hatalarını en aza indirir. |
Security
Güvenlik sütununun amacı iş yüküne gizlilik, bütünlük ve kullanılabilirlik garantileri sağlamaktır.
Güvenlik tasarımı ilkeleri, Azure Service Bus'ın teknik tasarımına yaklaşımlar uygulayarak bu hedeflere ulaşmak için üst düzey bir tasarım stratejisi sağlar.
İş yükü tasarımı denetim listesi
Güvenlik için tasarım gözden geçirme denetim listesini temel alarak tasarım stratejinizi başlatın ve güvenlik duruşunu geliştirmek için güvenlik açıklarını ve denetimleri belirleyin.
Güvenlik temeli oluşturma:Azure Service Bus güvenlik temelini gözden geçirin ve geçerli ölçüleri güvenlik temelinize ekleyin. Microsoft Cloud Security Benchmark, Service Bus için kimlik yönetimi, ağ güvenliği, veri koruması ve uyumluluk gereksinimlerini karşılayan belirli güvenlik denetimleri sağlar.
Bu standartlaştırılmış güvenlik yapılandırması ve ilke uygulaması yaklaşımı, mesajlaşma altyapınız genelinde sektör standartları ve mevzuat gereksinimleriyle uyumluluğu sağlar.Microsoft Entra Kimliği ile yetkilendirmeyi ve kimlik doğrulamayı zorunlu kılma: Service Bus, farklı izin düzeyleri için Azure Service Bus Veri Sahibi, Veri Göndereni ve Veri Alıcısı rolleri dahil olmak üzere mesajlaşma işlemlerine ayrıntılı erişim denetimi için yerleşik Azure RBAC rolleri sunar. Bu veri düzlemi rolleri, en az ayrıcalık ilkelerini izleyen atamalarla gönderme, alma ve yönetme işlemleri üzerinde ayrıntılı denetim sağlar.
Microsoft Entra ID tarafından yönetilen güvenli kimlik doğrulamasını etkinleştirmek için yönetilen kimlikleri kullanın.
Düzenli rol ataması incelemeleri ve otomatik sağlama işlemleri gerçekleştirin, zaman içinde güvenlik durumunu sürdürmek için grup üyeliği aracılığıyla.Güvenli ağ yapılandırmalarını uygulama: Derinlemesine koruma için ağ güvenlik denetimleri katmanlar halinde uygulanmalıdır. Service Bus ad alanları için özel IP adresleri oluşturarak güvenli bağlantıyı etkinleştirmek için özel uç noktaları kullanın ve ileti trafiğinin Azure omurga ağı içinde kalmasını sağlayın. Alternatif olarak hizmet uç noktaları, özel IP adresleri olmadan ağ tümleştirmesi sağladığı için göz önünde bulundurulabilir. En ayrıntılı denetim için IP güvenlik duvarı kuralları ve sanal ağ kuralları, belirli istemci IP aralıklarına ve alt ağlarına erişimi kısıtlanacak şekilde ayarlanmalıdır.
İnternet tabanlı saldırı vektörlerini ortadan kaldırmak için özel bağlantı kurulduğunda genel ağ erişimini devre dışı bırakırken, ağ güvenlik grubu kuralları Service Bus tüketicilerini ve üreticilerini içeren alt ağlar için ek filtreleme sağlar.Bekleyen ve aktarımdaki verileri şifreleyin: Kimlik doğrulama özelliklerine sahip güvenli mesajlaşma için TLS üzerinden AMQP (Gelişmiş Message Queuing Protokolü) ile şifreleyin. Aktarım Katmanı Güvenliği TLS 1.2 veya üzeri, istemciler ile Service Bus arasında iletim sırasında ileti verilerini korur.
Service Bus, Azure'ın anahtar oluşturma, döndürme ve yönetimi işlediği platform tarafından yönetilen anahtarları kullanarak bekleyen verileri otomatik olarak şifreler. Gelişmiş denetim için Premium katmanı, müşteri tarafından yönetilen anahtar şifrelemesi ve yerleşik anahtar döndürme ilkeleri için Azure Key Vault ile tümleştirmeyi destekler.Ad alanı yapılandırmasını sağlamlaştırma ve saldırı yüzeyini azaltma: Kullanılmayan mesajlaşma varlıklarına yetkisiz erişimi önlemek için artık gerekli olmayan kuyrukları, konuları ve abonelikleri kaldırın. Hassas ileti verilerinin süresiz olarak depolanmasını önlemek için uygun ileti saklama ilkelerini ve otomatik silme ayarlarını yapılandırın.
özellikle gerekmedikçe ileti iletme gibi özellikleri devre dışı bırakırken iş yükü mimarisi için yalnızca gerekli mesajlaşma desenlerini etkinleştirin. Ayrıca, zaman içinde güvenlik duruşunun korunması için ad alanı yapılandırmasının düzenli gözden geçirmelerini gerçekleştirin.Bağlantı dizelerinin güvenliğini sağlama ve kimlik bilgilerine erişme: Hassas kimlik doğrulaması içerdiği için bağlantı dizesi depolamasını ortadan kaldırmak için uygulamalarda kimlik tabanlı bağlantıları tercih edin. Bazı senaryolar, güvenli işleme mekanizmalarına sahip olanlar için bağlantı dizeleri gerektirebilir.
Azure Key Vault tümleştirmesi merkezi depolama ve erişim denetimi sağlar ve denetim günlüğü ve erişim ilkeleri sağlarken uygulama yapılandırmasında kimlik bilgilerinin açığa çıkarma riskini azaltır. Hizmet kesintilerini en aza indiren anahtar geçişi yordamları aracılığıyla paylaşılan erişim anahtarlarını düzenli olarak döndürün.Güvenlik izleme ve tehdit algılamayı uygulama: Güvenlik izlemeyi tehdit algılama, yetkisiz erişim girişimleri ve başarısız kimlik doğrulama girişimleri, ayrıcalık yükseltme ve anormal mesajlaşma davranışı gibi şüpheli mesajlaşma düzenlerine odakla. Tanılama günlükleri kimlik doğrulama olaylarını ve yetkilendirme hatalarını yakalarken, yönetim işlemleri güvenlik denetim izlerini sağlar.
Azure İzleyici tümleştirmesi kimlik doğrulama hatalarını, kısıtlama olaylarını ve olağan dışı ileti hacmi örüntülerini içerir. Güvenlik altyapısı arasında bağıntı için Azure Sentinel veya SIEM çözümleriyle tümleştirme ile güvenlik olayları için otomatik uyarı ve yanıt yordamları uygulayın.Güvenlik testi ve doğrulama uygulamaları oluşturun: Service Bus yapılandırmasını güvenlik temellerine göre doğrulayan ve kurumsal güvenlik ilkeleri uyumluluğunu doğrulayan güvenlik testleri aracılığıyla mesajlaşma altyapısındaki olası güvenlik açıklarını belirleyin.
İdeal olan, güvenlik testinin ağ yapılandırmasını ve erişim denetimlerini değerlendiren otomatik güvenlik tarama araçlarıyla dağıtım ve operasyon iş akışlarıyla tümleştirilmesidir.
Test senaryoları, DLQ ilkelerini doğrulama, hassas verileri açığa çıkarmadan ileti kaybını önleme, zehirli iletilerin sonsuz yeniden denemelere neden olmadığını onaylama ve aynı anda etkili işlemeyi doğrulama gibi çeşitli saldırı vektörlerini ele almalıdır. Ayrıca sınırlamayı test etmek için DoS saldırılarını simüle edin, doğrulamayı test etmek için hatalı biçimlendirilmiş iletiler enjekte edin ve yetkisiz erişim denemelerini simüle edin.
Yapılandırma önerileri
| Tavsiye | Fayda |
|---|---|
| En düşük ayrıcalık ilkesine göre uygun Azure RBAC rollerini atayın. Belirli mesajlaşma işlemleri için Veri Göndereni, Veri Alıcısı veya Veri Sahibi rollerini kullanın. | Uygulamalarda kimlik bilgilerinin açığa çıkarılma durumunu ortadan kaldırarak saldırı yüzeyini azaltırken mesajlaşma işlemleri için Azure RBAC aracılığıyla merkezi erişim denetimi sağlar. Bu yaklaşım, kapsamlı koruma için koşullu erişim ilkelerini ve güvenlik izlemesini etkinleştirir. |
| Service Bus Premium ad alanları için özel uç noktaları yapılandırın ve özel ağ bağlantılarını güvence altına almak için genel ağ erişimini devre dışı bırakın. Premium katman Service Bus ad alanları için özel uç nokta desteği gerektiğini unutmayın. | Özel uç noktalar genel İnternet tehditlerine maruz kalma durumunu ortadan kaldırdıkça mesajlaşma altyapısı için saldırı yüzeyini önemli ölçüde azaltır. Bu, mevcut sanal ağ güvenlik ilkeleri ve denetimleriyle tümleştirme ile Service Bus iletişimleri için en yüksek ağ güvenliği düzeyini sağlar. |
| Ad alanı erişimini bilinen istemci IP aralıklarına kısıtlamak için IP güvenlik duvarı kuralları uygulayın ve sanal ağ kurallarını yalnızca onaylanan alt ağlardan erişime izin verecek şekilde yapılandırın. Bu yaklaşım katmanlı ağ güvenliği için özel uç noktalarla birleştirilebilir. | Service Bus erişimini yetkili ağ konumlarıyla sınırlayarak yetkisiz erişim riskini azaltır. Mevcut ağ güvenlik ilkeleri ve yönetim çerçeveleriyle entegre edilirken güvenlik izleme için ağ erişim girişimlerinin denetim günlüğünü etkinleştirir. |
| Şifreleme anahtarı yönetimi ve erişim denetimi için Azure Key Vault kullanarak Service Bus Premium ad alanları için müşteri tarafından yönetilen anahtar şifrelemesini etkinleştirin. Uygun erişim denetimleriyle anahtar yenileme politikaları uygulayın. | Müşteri tarafından yönetilen anahtarlar, şifreleme anahtarı yaşam döngüsü üzerinde gelişmiş denetim sağlar ve müşteri tarafından denetlenen anahtar yönetimi aracılığıyla mevzuat standartları uyumluluğunu etkinleştirir. Otomatik anahtar döndürme, şifreleme anahtarlarını güncelleştirirken hizmet kullanılabilirliğini korur. |
| Tüm Service Bus istemci bağlantıları için TLS 1.2 en düşük sürümünü zorunlu kılın ve eski paylaşılan erişim imzası biçimleri gibi eski kimlik doğrulama mekanizmalarını devre dışı bırakın. Modern kimlik doğrulama protokolleri protokol tabanlı saldırılara karşı güvenlik açığını azaltırken protokol sağlamlaştırma saldırı yüzeyini ve güvenlik açığına maruz kalma süresini azaltır. |
Güçlü aktarım şifrelemesi ve modern kimlik doğrulama protokolleri ileti verilerini korurken mesajlaşma iletişimleri veri iletimi güvenliği için uyumluluk gereksinimlerini karşılar. Protokol sağlamlaştırma, eski protokollerdeki bilinen güvenlik açıklarını ortadan kaldırır. |
| Kimlik bilgisi erişim denetimi için uygun erişim ilkeleriyle Service Bus bağlantı dizelerini ve paylaşılan erişim anahtarlarını Azure Key Vault'ta depolayın. Otomatik dağıtım işlem hatlarını kullanarak anahtar döndürme prosedürlerini uygulayın. | Merkezi gizli dizi yönetimi, uygulamalarda kimlik bilgilerinin açığa çıkmasını ortadan kaldırır ve uygulama yapılandırmasında ve kaynak kodu depolarında kimlik bilgisi depolamasını önler. Ayrıca, hassas kimlik doğrulama bilgileri için denetim günlüğü ve erişim denetimi sağlar. |
| Kimlik doğrulama olayları, yetkilendirme hataları ve yönetim işlemleri de dahil olmak üzere Service Bus güvenlik olaylarını yakalamak için Azure İzleyici tanılama ayarlarını yapılandırın. Tehdit algılama özellikleri için güvenlik günlüklerini Azure Sentinel ile tümleştirin. | Güvenlik odaklı izleme, yetkisiz erişim girişimlerinin hızlı bir şekilde algılanmasına olanak tanırken, şüpheli mesajlaşma düzenleri algılama olası güvenlik olaylarının belirlenmesine yardımcı olur. SIEM çözümleriyle tümleştirme, daha geniş güvenlik izleme ile bağıntı sağlar. |
Maliyet İyileştirme
Maliyet Optimizasyonu, kuruluşun bütçesini karşılarken iş gereksinimlerini de karşılamak amacıyla harcama düzenlerini tespit etmeye, kritik alanlardaki yatırımlara öncelik vermeye ve diğer yerlerde optimizasyon yapmaya odaklanır.
Maliyet İyileştirme tasarım ilkeleri, bu hedeflere ulaşmak ve Azure Service Bus ve ortamıyla ilgili teknik tasarımda gerekli olan dengeleri sağlamak için üst düzey bir tasarım stratejisi sağlar.
İş yükü tasarımı denetim listesi
Yatırımlar için Maliyet İyileştirme için
Doğru Service Bus hizmet katmanını seçin: Service Bus, farklı maliyet yapılarına ve özelliklerine sahip birden çok fiyatlandırma katmanı sağlar. Service Bus katmanları seçiminizde, oturumlar, tekrar algılama, coğrafi çoğaltma ve coğrafi olağanüstü durum kurtarma gerektiren teknik gereksinimleri göz önünde bulundurun. Premium katman, çok bölgeli senaryolar için hem coğrafi çoğaltmayı hem de coğrafi olağanüstü durum kurtarmayı desteklerken Standart katmanda yerel coğrafi yedeklilik özellikleri bulunmaz. Tasarımınızda gelişmiş özellikler gerekmiyorsa daha yüksek katmanlar için daha fazla ödeme yapmaktan kaçının.
Katman kararlarında, en yüksek hacimleri, eşzamanlı bağlantıları ve ileti boyutlarını hesaplayan kapasite planlamasını da göz önünde bulundurun. Premium katman, öngörülebilir aylık maliyetlerle ayrılmış mesajlaşma birimleri sağlayarak üretim iş yükleri için uygun hale getirir. Standart katman, üretim dışı ortamlar için maliyet tasarrufu sağlar.
Service Bus kullanım tahmini ve maliyet modelleme yöntemleri oluşturun: Service Bus giderlerini tahmin ederken maliyet sürücülerini belirleyin. Olay temelli işleme, iş kuyrukları ve yayımlama-abone olma senaryoları gibi kullanım desenleri farklı maliyet özelliklerine sahiptir. Gerçekçi maliyet modelleri oluşturmak için işlem sayılarını ve ileti depolama süresini dikkate alın.
Mevsimsel değişimler ve iş büyüme tahminleri dahil olmak üzere talep dalgalanmalarını hesaba katabilirsiniz. Bütçe sürprizlerini önlemek için tahminlerinize olağanüstü durum kurtarma testlerinin ve diğer yönetim etkinliklerinin operasyonel ek yükünü ekleyin.
Service Bus kaynakları için maliyet izleme ve bütçe uyarısı uygulayın: Harcama düzenlerini anlamak için Service Bus ad alanına göre maliyet dökümlerini gözden geçirin. İleti işlemleri, depolama tüketimi ve ağ çıkış ücretleri dahil olmak üzere kullanım ücretlerini izleyin. Bu ölçümler iyileştirme fırsatlarını ve maliyet eğilimlerini ortaya koyuyor.
Önemli taşmalardan önce erken uyarı için birden çok eşik düzeyiyle bütçe uyarılarını yapılandırın. Maliyet uyarıları ölçeklendirme ayarlamalarını veya acil durum bütçe denetimlerini tetikleyebilir. 50%, 75%ve 90% bütçe uyarılarını tetikleyebilir ve proaktif maliyet yönetimi kararları alabilirsiniz. Otomatik yanıtları ve bildirim iş akışlarını içeren uyarı işleme yordamları oluşturun. Beklenmeyen harcamaları önlemek için yüksek maliyetli dağıtımlar için onay iş akışlarını tümleştirin.
Birden çok uygulamaya hizmet veren paylaşılan ad alanları için maliyet ayırma stratejileri uygulayın. Kaynak etiketleme, ayrıntılı izleme yoluyla geri ödeme modellerine olanak tanır ve ekipler ve projeler arasında doğru maliyet ilişkilendirmesi sağlar.
Ayrılmış kaynakları kullanımını en üst düzeye çıkararak doğru boyutlandırın: Optimizasyon fırsatlarını belirlemek için kaynak kullanımını analiz edin. Kullanılmayan veya az kullanılan kaynakları bulmak için ileti aktarım hızı desenlerini, kuyruk derinliği eğilimlerini ve bağlantı kullanımını gözden geçirin. Gereksiz özellikleri devre dışı bırakın ve az kullanılan ad alanlarını birleştirin. Dikkate alınması gereken bazı tipik alanlar şunlardır:
Depolama maliyetlerini iyileştirme. Başarısız iletilerin süresiz birikmesini önlemek için ölü ileti kuyruğu yönetimi uygulayın. İleti saklama ilkelerini gerçek gereksinimlere göre yapılandırın. Yinelenen algılama pencerelerini maksimum değerler yerine gerçek gereksinimlere göre ayarlayın.
Ağ ve veri aktarımı maliyetlerini azaltın. Faturalanabilir işlemleri azaltmak için birden çok iletiyi tek işlemler halinde toplu işleyin. Bölgeler arası veri çıkış ücretlerini ortadan kaldırmak için Service Bus ad alanlarını ve bu ad alanlarını kullanan uygulamaları bir arada konumlandırın.
Yük boyutlarını en aza indirmek için ileti sıkıştırma ve verimli serileştirme uygulayın. Bu, aktarım hızını artırırken hem depolama maliyetlerini hem de ağ aktarım ücretlerini azaltır.
Kapasiteyi kullanım desenlerine göre dinamik olarak ayarlayın. Kapasite planlamasını bilgilendirmek için mevsimsel değişimleri ve iş döngüsü dalgalanmalarını izleyin. Proaktif ayarlamalar, düşük talep dönemlerinde aşırı sağlamayı önlerken, yoğun dönemlerde yeterli kapasiteyi sağlar.
Service Bus maliyet yönetimi için Azure İlkesi denetimleri uygulayın: Maliyet yönetimi standartlarını zorunlu kılmak için Azure İlkesi denetimleri uygulayın. Service Bus katmanı dağıtımlarını kısıtlayan, dağıtımları uygun maliyetli bölgelerle sınırlayan ve coğrafi olağanüstü durum kurtarma gibi pahalı özellikleri denetleyan ilkeler tanımlayın. Bu korumalar yetkisiz yüksek maliyetli yapılandırmaları önler.
Farklı ortamlarda Service Bus yapılandırmalarını iyileştirme: Her ortam için uygun, maliyet için iyileştirilmiş varsayılanlarla otomatik ortam sağlama tasarlayın. Şablonlar, işlevselliği ortam amacına göre maliyet verimliliğiyle dengeleyen mantıklı yapılandırmalar içermelidir.
Service Bus özelliklerini gerçek ortam gereksinimleriyle eşleştirin. Üretim için alanlar arası yedeklilik, coğrafi çoğaltma veya coğrafi olağanüstü durum kurtarma ve ayrılmış aktarım hızı gerekir. Üretim dışı ortamlar maliyetleri en aza indirmek için basitleştirilmiş özellik kümeleri, daha düşük aktarım hızı ve daha düşük kullanılabilirlik garantileri kullanabilir.
Maliyet azaltma için Service Bus birleştirme stratejilerini uygulayın: Güvenlik ve işletim sınırları izin verildiğinde Uygulamalar arasında Service Bus kaynaklarını paylaşın. Birleştirilmiş ad alanları, kaynak paylaşımı aracılığıyla mesajlaşma birimi kullanımını iyileştirerek genel maliyetleri azaltır. Departmanlar ve projeler arasında maliyet ayırmayı etkinleştirmek ve çok kiracılı ortamlarda geri ödeme modellerini desteklemek için kaynak etiketleme uygulayın.
Yapılandırma önerileri
| Tavsiye | Fayda |
|---|---|
| Service Bus ad alanları için tutarlı etiketleme stratejileri uygulayın. Doğru maliyet ayırmayı etkinleştirmek ve geri ödeme modellerini desteklemek için maliyet merkezi, proje ve ortam etiketlerini ekleyin. | Etiketleme, paylaşılan altyapıda maliyet atfı sağlar ve çok kiracılı Service Bus dağıtımları için yapılandırılmış geri ödeme modellerini destekler. |
| İleti hacmi desenlerini ve işlem sayılarını analiz etmek için Azure Maliyet Yönetimi'ni kullanın. Geçerli ve öngörülen kullanım desenleri için en uygun katman seçimini belirlemek için geçmiş verileri gözden geçirin. Bütçe uyarılarını 50%, 75%ve 90% bütçe sınırında birden çok eşik ile yapılandırın. Aşamalı uyarılar, önemli taşmalar gerçekleşmeden önce erken uyarı sağlar. |
Veri temelli katman seçimi, fiyatlandırma modellerini varsayımlar yerine gerçek kullanım desenleriyle eşleştirerek en iyi maliyet verimliliğini sağlar. Kanıta dayalı kararlar fazla sağlamayı engeller. Çok eşikli bütçe uyarıları, işlemlerde gereksiz kesintiler olmadan proaktif maliyet yönetimine olanak tanıyan bir aşamalı uyarı sistemi sağlar. |
| İleti saklama ilkelerini en yüksek değerleri kullanmak yerine gerçek uygulama gereksinimlerine göre yapılandırın. İşlevselliği maliyet verimliliğiyle dengelemek için gerçek iş gereksinimlerine göre yinelenen algılama pencereleri ayarlayın. | Uygun yapılandırma aracılığıyla yinelenen önleme gereksinimlerini maliyet verimliliğiyle dengelerken gereksiz ileti kalıcılığını ve işleme ek yükünü ortadan kaldırır. |
| Faturalanabilir işlemleri azaltmak için Service Bus istemci uygulamalarında mesaj toplulaştırma işlemini kullanın. Maliyetleri iyileştirmek için toplu iş boyutlarını ileti hacmi desenlerine ve gecikme süresi gereksinimlerine göre yapılandırın. | İşlem sayısını azaltır ve işlem başına ödeme katmanlarında maliyet verimliliğini artırır. İyileştirilmiş işlem ücretleriyle yüksek hacimli mesajlaşma iş yüklerinin maliyetlerini azaltır. |
| Sıkıştırma ve verimli serileştirme biçimleri aracılığıyla ileti yükü boyutlarını iyileştirin. Daha küçük yükler depolama maliyetlerini, ağ çıkış ücretlerini azaltır ve aktarım hızını artırır. | Daha iyi kapasite kullanımı ve maliyet verimliliği için mesajlaşma birimi başına daha fazla iletiye olanak tanırken depolama maliyetlerini ve ağ çıkış ücretlerini azaltır. |
| Sınırsız depolama birikimini önlemek için otomatik teslim edilemeyen ileti kuyruğu temizleme prosedürlerini uygulayın. Yaşa veya çözüm durumuna göre eski başarısız iletileri kaldırmak için zamanlanmış işlemleri yapılandırın. Temizleme sıklığını sorun giderme gereksinimleriyle dengeleyin. Depolama maliyetlerini kontrol ederken operasyonel analiz için yeterli saklama sürelerini koruyun. |
İşletimsel sorun giderme özelliklerinden ödün vermeden uzun vadeli maliyetleri iyileştirirken, başarısız ileti birikiminden gelen sınırsız depolama maliyeti artışlarını önler. |
| Service Bus ad alanlarını aynı Azure bölgesindeki ileti üreticileri ve tüketicileriyle birlikte bulun. Bölgesel dağıtım, bölgeler arası veri aktarımı maliyetlerini ortadan kaldırır ve ağ gecikme süresini azaltır. | Bölgeler arası ileti aktarımı için veri çıkış ücretlerini ortadan kaldırır ve ağ mimarisini basitleştirirken hem aktarım maliyetlerini hem de gecikme süresini azaltır. |
Operasyonel Mükemmellik
Operasyonel Mükemmellik öncelikli olarak geliştirme uygulamaları, gözlemlenebilirlik ve sürüm yönetimiyordamlarına odaklanır. operasyonel mükemmellik tasarım ilkeleri iş yükünün operasyonel gereksinimleri için bu hedeflere ulaşmak için üst düzey bir tasarım stratejisi sağlar.
İş yükü tasarımı denetim listesi
Azure Service Bus ile ilgili gözlemlenebilirlik, test ve dağıtım süreçlerini tanımlamaya yönelik Operasyonel Mükemmellik için tasarım gözden geçirme denetim listesini temel alarak tasarım stratejinizi başlatın.
Service Bus operasyonları için ekip hazırlığını değerlendirin: Service Bus operasyonları, ölü harf kuyruğu yönetimi, ileti yaşam döngüsünü yönetme ve güvenlik yapılandırması gibi özel uzmanlık gerektirir. Ekiplerin paylaşılan erişim ilkeleri, yönetilen kimlik ve Azure RBAC uygulaması gibi kimlik doğrulama yöntemlerinde yeterliliğe sahip olması gerekir.
Service Bus dağıtımları için Kod Olarak Altyapı uygulama: Service Bus altyapısı, ortamlar arasında tutarlı dağıtımlar için ARM şablonlarını, Bicep'i ve Terraform'ı destekler. Şablonlar, tam altyapı yönetimi için ad alanı yapılandırmasını, kuyruk ve konu tanımlarını, abonelik filtrelerini ve erişim ilkelerini içermelidir. Dağıtım tutarlılığını korurken ortama özgü yapılandırmaları etkinleştirmek için şablon parametreleştirmesini kullanın. Daha fazla bilgi için bkz. Service Bus ad alanları şablonları.
Katmanlı dağıtım stratejilerini değerlendirerek, yönetilen kimlikler gibi bağımlılıklar sıralı sağlama gerektirdiğinde, ad alanı sağlama işlemini varlık yapılandırmasından ayırabilirsiniz.
Service Bus yapılandırması için sürüm denetimi, denetlenebilirliği sağlar ve altyapı değişiklikleri için geri alma özellikleri sağlar.
Mesajlaşma altyapısı için güvenli dağıtım uygulamaları oluşturun: Namespace geçişleri için blue-green dağıtımları ve abonelik filtresi değişiklikleri için kanarya dağıtımları ekleyin. Mavi-yeşil stratejiler kesintisiz geçişlere olanak tanırken, kanarya dağıtımları tam dağıtımdan önce yönlendirmeyi doğrular.
Altyapı güncelleştirmeleri sırasında mesajlaşma sürekliliğini sağlamak için dağıtım doğrulama denetimleri olduğundan emin olun. Test, ileti yönlendirme, abonelik filtreleri ve ölü harf kuyruğu yapılandırmalarını içermelidir.
Service Bus işletimsel görevleri için otomasyon stratejileri tasarlama: Pratik olduğu durumlarda Service Bus operasyonel otomasyonu yinelenen görevleri hedeflemektedir. İş akışı otomasyonu özellikleri için Azure Logic Apps, Azure İşlevleri ve Azure Otomasyonu'nı değerlendirin.
Otomasyon için önemli fırsatlar arasında kaynak birikimini önlemeye yönelik ölü harf kuyruğu temizleme ve depolama maliyetlerini denetlemek için süresi dolan iletilerin kaldırılması yer alır. Zamanlanmış ölçeklendirme işlemleri, kapasiteyi tahmin edilebilir kullanım desenlerine göre ayarlayabilir.
Ek otomasyon hedefleri, operasyonel ek yükü azaltmak ve tutarlı yönetim uygulamaları sağlamak için abonelik bakımını, erişim ilkesi döndürmeyi ve ad alanı kapasitesini izlemeyi içerebilir.
İzleme verilerini toplama: İleti akışı durumunu, ad alanı performans ölçümlerini ve bağımlılıkları izleyin. Azure İzleyici tümleştirmesi mesajlaşma altyapısı için temel ölçümler, günlükler ve dağıtılmış izleme özellikleri sağlar. Kritik telemetri mesaj iletim hızları, kuyruk derinlik eğilimleri, geçersiz ileti birikimi, darboğaz olayları ve bağlantı havuzu kullanımını içerir. Application Insights, tam görünürlük için Service Bus aracılığıyla yayımcılardan tüketicilere uçtan uca izlemeyi sağlar.
Mesajlaşma hataları için olay yanıtı prosedürleri oluşturun: İleti kurtarma ve aboneliklerin yeniden oluşturulmasını sağlamak için ad alanı yük devretme işlemini ele alın. Coğrafi çoğaltma, veri çoğaltma ile otomatik bölgesel yük devretme sağlarken, coğrafi olağanüstü durum kurtarma özellikleri düzgün yapılandırıldığında yalnızca meta veriler için otomatik bölgesel yük devretme sağlar.
Yanıt stratejileri ileti sıralama garantilerini, yinelenen işlemeyi, yönlendirme ve filtreleri doğrulamayı ve teslim garantilerini korurken karmaşık kurtarma senaryoları için el ile müdahale yordamlarını dikkate almalıdır.
Mesajlaşma altyapısı için test stratejileri uygulama: mesajlaşma desenlerinin işlevsel testini, tümleştirme testini ve yönlendirme, filtreler ve işleme mantığını doğrulamayı içerir. Yük testi, beklenen trafik hacimleri altında performans özelliklerini doğrular.
CI/CD işlem hatları aracılığıyla otomasyonun test edilmesi, mesajlaşma altyapısı değişikliklerinin ve uygulama tümleştirme senaryolarının tutarlı bir şekilde doğrulanmasını sağlar.
Ekibinizin beceri kümesiyle eşleşecek şekilde mesajlaşma API'sinin seçimini değerlendirin: Service Bus, java uygulamaları için hem yerel Azure SDK'sını hem de JMS 2.0 API'sini destekler ve her biri farklı özellik özellikleri ve performans özellikleri sağlar. API seçimi, ekip uzmanlığı ve uygulama gereksinimleriyle uyumlu olmalıdır.
Yerel SDK'lar, Azure'a özgü iyileştirmelerle oturumlar, yinelenen algılama ve otomatik iletme gibi Service Bus özelliklerine tam erişim sağlar. Bu SDK'lar tam özellik erişimi ve en iyi performans özellikleri sunar.
JMS API standartlaştırılmış bir mesajlaşma arabirimi sunar, ancak Service Bus Oturumlarının kullanılamaması ve yerel uygulamalarla karşılaştırıldığında daha düşük performans seçenekleri de dahil olmak üzere sınırlamalar sunar.
Yapılandırma önerileri
| Tavsiye | Fayda |
|---|---|
| Ortama özgü ayarlar, mesajlaşma varlıkları, erişim ilkeleri ve hizmet tümleştirmeleri için parametreleştirme desteğiyle Service Bus ad alanı yapılandırması için ARM şablonları veya Bicep modülleri geliştirin. | Otomatik sağlama aracılığıyla yapılandırma kaymasını azaltırken ortamlar arasında tutarlı dağıtımlar sağlar. Şablon tabanlı altyapı rekreasyonu aracılığıyla hızlı kurtarma sağlar ve uyumluluk için ayrıntılı denetim izlerini korur. |
| Azure Logic Apps veya Azure İşlevleri'ni kullanarak, dağıtılamayan mesaj kuyruğu temizleme, abonelik bakımı ve erişim politikası değişimi gibi işlem görevlerini işlemek için otomatik iş akışları oluşturun. | Olay odaklı otomasyon ve zamanlanmış bakım yürütme aracılığıyla tutarlı operasyonel uygulamalar sağlarken el ile yapılan ek yükü azaltır. |
| İleti sayıları, aktarım hızı oranları, hata koşulları ve iş bağlamında bağımlılık durumu gibi Service Bus ölçümleri için Azure İzleyici panolarını ve uyarı kurallarını yapılandırın. | Mesajlaşma sorunlarının erken algılanması sağlar ve proaktif kapasite yönetimini destekler. Özel panolar aracılığıyla etkili sorun gidermeyi kolaylaştırırken ortalama algılama ve çözüm süresini azaltır. |
| İleti yeniden işleme stratejilerini, ad alanı yük devretme yordamlarını ve açıkça tanımlanmış yükseltme protokolleriyle ölü mektup kuyruğu kurtarma iş akışlarını belgeleyerek olay müdahale playbook'ları geliştirin. Playbook etkinliğini doğrulamak ve ekibin acil durum senaryolarına hazır olduğundan emin olmak için düzenli testler yapın. |
Tutarlı vaka işleme sağlar ve belgelenmiş prosedürler aracılığıyla kurtarma süresini azaltır. Sistematik yanıt stratejileriyle daha hızlı çözüm sağlarken ileti kaybını en aza indirir. |
Performans Verimliliği
Performans Verimliliği, kapasiteyi yöneterek yük artış olduğunda bile kullanıcı deneyimini korumakla ilgilidir. Strateji kaynakları ölçeklendirmeyi, olası performans sorunlarını tanımlamayı ve iyileştirmeyi ve en yüksek performans için iyileştirmeyi içerir.
Performans Verimliliği tasarım ilkeleri, beklenen kullanım seviyelerine karşı bu kapasite hedeflerine ulaşmak için üst düzey tasarım stratejileri sunar.
İş yükü tasarımı denetim listesi
Performans Verimliliğiiçin
Service Bus iş yükleri için kapasite planlaması gerçekleştirme: Service Bus kapasite planlaması, sistematik değerlendirme aracılığıyla beklenen ileti hacimlerini ve en yüksek aktarım hızı gereksinimlerini analiz etmek gerektirir. Üretim dağıtımı öncesinde kapasite tahminlerini doğrulamak için gerçekçi ileti desenleriyle yük testi.
Kapasite temelleri oluştururken ileti boyutu dağıtımlarını ve eşzamanlı bağlantı desenlerini göz önünde bulundurun. genel kaynak tüketimini etkileyen ileti saklama süreleri, teslim edilemeyen ileti kuyruğu depolama alanı ve abonelik filtresi karmaşıklığını hesaplayın.
Premium katman, tahmin edilebilir performans özelliklerine ve garantili kapasiteye sahip ayrılmış mesajlaşma birimleri sağlar. Düşük katmanlar, gürültücü komşu etkileri nedeniyle yoğun kullanım dönemlerinde performans sınırlamasının yaşanabileceği değişken performanslı paylaşılan altyapıyı kullanır.
İleti işleme iş yükleri için ölçeklendirme stratejileri tasarlayın: Service Bus ölçeklendirme stratejileri, farklı performans gereksinimlerini karşılayan yatay, dikey ve mimari ölçeklendirme yaklaşımlarını içermelidir.
Yatay ölçeklendirme, iletileri birden çok ileti aracısı arasında dağıtan bölümlenmiş varlıkları içerir ve aktarım hızını ve paralelliği artırır. Ancak bölümleme, iyileştirilmiş ölçeklenebilirliğin bölümlenmiş varlıklarla sipariş garantilerini ve işlem tutarlılığını etkileyebileceği dengeler oluşturur.
Premium katman mesajlaşma birimi artışları, dinamik iş yükleri için otomatik ayarlama özellikleriyle ayrılmış kapasite sağlar. Bölgeler arasında ad alanı dağıtımı aracılığıyla mimari ölçeklendirme, bölgesel performans iyileştirmesi ile genel iş yüklerini destekler.
en iyi aktarım hızı için ileti işleme desenlerini yapılandırın: İleti işleme desenleri Service Bus aktarım hızını ve genel uygulama performansını önemli ölçüde etkiler. Toplu işleme, tek işlemlerde birden çok ileti göndererek veya alarak ağ gidiş dönüşlerini azaltarak verimliliği artırır. Filtrelemeye sahip konu abonelikleri, ileti dağıtımı için genel senaryoları etkinleştirir.
Birden çok eşzamanlı alıcı kullanılarak paralel işleme, kuyruk tabanlı iş yükleri için genel aktarım hızını artırır. Oturum tabanlı mesajlaşma, ilgili iletiler için sıralı işleme sağlar, ancak paralelliği oturum başına bir etkin alıcıyla sınırlayarak aktarım hızı kısıtlamaları oluşturur.
Performans göstergelerini izleyin ve performans sorunlarını belirleyin: Service Bus performans izleme, ileti aktarım hızı hızları, kuyruk derinliği eğilimleri, işleme gecikmesi ve azaltma olayları gibi temel ölçümlerin izlenmesini gerektirir. Mesajlaşma altyapısı genelinde performans değerlendirmesi için bağlantı havuzu kullanımını izleyin.
Genel aktarım hızını etkileyebilecek darboğazları belirlemek için, ad alanı düzeyinde sınırlandırma ve abonelik filtresi işleme gecikmelerine odaklanın.
İleti işlemeyi ve ağ performansını iyileştirme: İleti işleme iyileştirmesi, istemci tarafı performansını geliştirmek için bağlantı havuzu oluşturmayı, önceden yapılandırmayı ve ileti toplu işlemini içerir. Yük boyutu iyileştirmesi ağ yükünü azaltır ve işleme verimliliğini artırır.
Önceden belirleme ayarları, istemcilerin önceden birden çok ileti almasına olanak tanıyarak ağ gecikme süresinin ileti işleme aktarım hızı üzerindeki etkisini azaltır. Ağ performansı iyileştirmesi, gecikme süresini en aza indiren bölgesel ortak konum aracılığıyla Service Bus ad alanlarını ileti üreticileri ve tüketicileriyle birlikte konumlandırmayı içerir.
Yapılandırma önerileri
| Tavsiye | Fayda |
|---|---|
| Garantili performans gerektiren üretim iş yükleri için Service Bus Premium katmanını seçin. Premium katman, tahmin edilebilir performans özelliklerine sahip ayrılmış mesajlaşma birimleri sağlar ve otomatik ölçeklendirme özellikleriyle daha büyük ileti boyutları gibi gelişmiş özellikler sağlar. | Ayrılmış mesajlaşma birimleri, paylaşılan altyapıdan kaynaklanan değişken performans sorunlarını ortadan kaldırır. Tutarlı aktarım hızı, üretim mesajlaşması iş yükleri için öngörülebilir uygulama performansını destekler. |
| Yapılandırılmış minimum ve maksimum mesajlaşma birimi eşikleri ile Service Bus Premium için otomatik ölçeklendirmeyi etkinleştirin. Ölçeklendirme gecikmesi olmadan temel yükü işlemek için en düşük birimleri ayarlayın. İleti işleme yükünü kullanılabilir kapasiteye dağıtmak için birden çok eşzamanlı alıcı uygulayın. |
Gerçek taleple eşleşen dinamik kapasite ayırması ile geliştirilmiş kaynak kullanımı. Tutarlı performansı korurken yük değişiklikleri sırasında kapasite yönetimine el ile müdahaleyi ortadan kaldırır. |
| Ağ gidiş dönüşlerini ve bağlantı ek yükünü azaltmak için ReceiveMessages() ve SendMessages() yöntemlerini kullanarak toplu ileti işlemleri uygulayın. Kısmi hataları yönetmek ve güvenilirliği korumak için toplu işlemler için hata işleme uygulayın. |
Azaltılmış ağ yüküyle tek tek işlemlere kıyasla ileti işleme verimliliğini önemli ölçüde artırır. Daha az bağlantı yönetimi yükü nedeniyle aynı altyapı kaynaklarıyla daha yüksek genel aktarım hızı. İyileştirilmiş kaynak kullanımına sahip toplu ileti işleme senaryoları için daha iyi uygulama performansı. |
| İleti aktarım hızı, kuyruk derinliği eğilimleri ve işleme gecikmesi gibi Service Bus performans ölçümleriyle Azure İzleyici panolarını yapılandırın. Performans göstergesi olarak kısıtlama olaylarını ve sunucu hatalarını izleyin. Gecikme süresi yüzdelik dilim takibini ayarlayın ve önleyici sorun tespiti için uyarı eşiklerini yapılandırın. |
Mesajlaşma altyapısının sistem durumu ve performans eğilimleri hakkında gerçek zamanlı görünürlük sağlar. Proaktif uyarı yoluyla kullanıcı etkisinden önce performans düşüşünün erken algılanması sağlar. Ampirik ölçümlere göre veri odaklı kapasite planlaması ve performans iyileştirmesi kararlarını destekler. |
| Beklenen ileti hacimlerine ve eşzamanlı yayımcı/tüketici desenlerine sahip gerçekçi Service Bus iş yüklerinin benzetimini yapmak için Azure Yük Testi'ni kullanın. Farklı ileti boyutlarına ve işleme karmaşıklığına sahip senaryolar ekleyin. Yük ani artışları sırasında otomatik ölçeklendirme davranışını ve kısıtlama eşiklerini test ederken uçtan uca gecikmeyi ölçün. Üretim planlaması için performans temellerini ve kapasite sınırlarını belgeleyin. |
Üretim dağıtımı öncesinde gerçekçi koşullar altında mesajlaşma altyapısı performansını doğrular. Geliştirme döngüsünün başlarında olası performans sorunlarını ve kapasite sınırlamalarını tanımlar. Doğru kapasite planlama kararları ve performans iyileştirme stratejileri için ampirik veriler sağlar. |
| Geliştirilmiş verimlilik için Service Bus istemci yapılandırmasını uygun ön getirme sayıları, bağlantı havuzlama ve ileti toplama ile optimize edin. Ağ bant genişliği kullanımını azaltmak için ileti boyutunu ve sıkıştırmayı iyileştirin. Gecikme süresini en aza indirmek için Service Bus ad alanlarını aynı Azure bölgesindeki uygulamalarla birlikte bulun. Service Bus performans geliştirmeleri ek kaynaklar arasında yer alır. |
İstemci iyileştirmesi ve daha az bağlantı yükü aracılığıyla ileti işleme verimliliği geliştirildi. Uygulamalar ve Service Bus altyapısı arasındaki ağ mesafesini en aza indiren bölgesel ortak konum sayesinde daha düşük gecikme süresi. |
| Gelişmiş performans için mümkün olduğunda iletileri bellekte depolamak için Express Varlıklarını kullanın. Performans iyileştirme ve dayanıklılık garantileri arasındaki dengeyi değerlendirirken EnableExpress özelliği aracılığıyla hızlı kuyrukları ve konuları yapılandırın. | Dayanıklılık gereksinimleri izin verildiğinde iyileştirilmiş bellek içi depolama aracılığıyla gelişmiş ileti işleme performansı. Geliştirilmiş yanıt hızına sahip yüksek verimlilikte mesajlaşma senaryoları için azaltılmış gecikme süresi. |
Azure ilkeleri
Azure, Azure Service Bus ve bağımlılıklarıyla ilgili kapsamlı bir yerleşik ilke kümesi sağlar. Önceki önerilerden bazıları Azure İlkesi aracılığıyla denetlenebilir. Örneğin, şunları denetleyebilirsiniz:
- Azure Service Bus Premium ad alanları, veri saklama sırasında şifreleme için müşteri yönetiminde olan anahtarları kullanarak şifreleme anahtarları üzerinde ek denetim sağlar ve uyumluluk gereksinimlerini karşılar.
- Azure Service Bus ad alanları, daha fazla güvenlik ve daha az yönetim yükü için kimlik doğrulaması için yalnızca Microsoft Entra ID kimlikleri gerektirir.
- Azure Service Bus ad alanları, veri sızıntısı risklerini azaltmak için özel uç noktalarla yapılandırılır.
- Azure Service Bus'taki kaynak günlükleri, güvenlik olayı oluştuğunda araştırma amacıyla kullanılacak denetim izleri oluşturmak üzere etkinleştirilir
Kapsamlı idare için Service Bus için Azure İlkesi yerleşik tanımlarını ve mesajlaşma altyapısının güvenliğini etkileyebilecek diğer ilkeleri gözden geçirin.
Azure Danışmanı önerileri
Azure Danışmanı, Azure dağıtımlarınızı iyileştirmek için en iyi yöntemleri izlemenize yardımcı olan kişiselleştirilmiş bir bulut danışmanıdır.
Daha fazla bilgi için bkz. Azure Danışmanı.
Örnek mimari
Temel önerileri gösteren temel mimari: İleti aracısı kullanarak kurumsal tümleştirme.