Azure Service Bus coğrafi olağanüstü durum kurtarma

Esnekliği, veri işleme kaynaklarının felaket kesintilerine karşı, birçok kurum ve bazı durumlarda sektör düzenlemeleri için gereken bir gereksinimdir.

Azure Service Bus, tek tek makinelerin zararlı arızalarının veya bir veri merkezindeki birden çok hata etki alanına yayılan kümeler genelinde tam dolapların riskini zaten yayar ve bu nedenle, hizmetin garanti edilen hizmet düzeylerinde çalışmaya devam etmesi ve genellikle bu tür bir hata oluştuğunda dikkat çekici kesintiler yapılmamaları gibi saydam hata algılama ve yük devretme mekanizmaları de uygular. kullanılabilirlik alanlarıiçin etkin seçeneğiyle bir Service Bus ad alanı oluşturulduysa, risk kesinti riski üç fiziksel olarak ayrılmış tesislere göre daha fazla yayılır ve hizmette, tüm tesis için eksiksiz ve çok zararlı bir kayıp olmadan anında ve daha fazla kapasite ayırmalar vardır.

kullanılabilirlik alanı desteği olan tüm etkin Azure Service Bus kümesi modeli, aksan, donanım arızalarına ve hatta tüm veri merkezi tesislerinin çok fazla kaybına karşı dayanıklılık açısından tüm şirket içi ileti aracısı ürünlerinin üstündür. Yine de, yaygın fiziksel yok etme konusunda, bu ölçülerin yeterince savunmasına rağmen aksan bir durum olabilir.

Service Bus coğrafi olağanüstü durum kurtarma özelliği, bu büyüklükte bir olağanüstü durumdan kurtulmasını kolaylaştırmak ve başarısız bir Azure bölgesini iyi ve uygulama yapılandırmalarınızı değiştirmek zorunda kalmadan daha kolay hale getirmek için tasarlanmıştır. Bir Azure bölgesinin terk olması genellikle birkaç hizmeti ve bu özelliği öncelikle bileşik uygulama yapılandırmasının bütünlüğünü korumaya yardımcı olmaya yönelik olarak daha fazla hizmet içerir. özellik Service Bus Premium SKU 'su için genel kullanıma sunulmuştur.

Geo-Disaster kurtarma özelliği, bir ad alanının tamamının (kuyruklar, konular, abonelikler, filtreler) bir birincil ad alanından eşleştirildiği zaman bir ikincil ad alanına çoğaltılmasını sağlar ve yalnızca bir kez yük devretme işlemini dilediğiniz zaman birincil sunucudan ikinciye taşıyın. Yük devretme taşıma, ad alanı için seçilen diğer adı ikincil ad alanına yeniden işaret eder ve ardından eşleştirmeyi keser. Yük devretme işlemi başlatıldıktan sonra neredeyse anında gerçekleşir.

Önemli

  • Özelliği, aynı yapılandırmaya sahip işlemlerin anında devamlılığını mümkün, ancak kuyruklarda veya konu aboneliklerinde veya atılacak ileti kuyruklarında tutulan iletileri çoğaltmaz. Sıra semantiğini korumak için, bu çoğaltma yalnızca ileti verilerinin çoğaltılmasını gerektirmez, ancak aracıdaki her durum değişikliğine gerek kalmaz. çoğu Service Bus ad alanı için, gerekli çoğaltma trafiği uygulama trafiğini ve yüksek performanslı kuyruklarla daha fazla aşılacağından, çoğu ileti hala birincilden silindiklerinde ikinciye çoğaltılır ve çok fazla trafiğe neden olur. Coğrafi olağanüstü durum kurtarma için tercih ettiğiniz çok sayıda eşleştirmede geçerli olan yüksek gecikmeli çoğaltma yolları için, kilitlenme süresi uzadığında kısıtlama etkileri nedeniyle, devam eden çoğaltma trafiğinin uygulama trafiğiyle birlikte tutulması de mümkün olmayabilir.
  • birincil ad alanındaki Service Bus varlıklara yönelik Azure Active Directory (Azure AD) rol tabanlı erişim denetimi (RBAC) atamaları ikincil ad alanına çoğaltılmaz. Bunlara erişim sağlamak için ikincil ad alanında el ile rol atamaları oluşturun.

İpucu

Kuyrukların ve konu aboneliklerinin içeriğini ve etkin/etkin yapılandırmalarda karşılık gelen ad alanlarını kesintileri ve olağanüstü durumlar ile Cope 'a çoğaltmak için, bu coğrafi olağanüstü durum kurtarma özelliği kümesini iyice yapmayın, ancak çoğaltma kılavuzunuizleyin.

Kesintiler ve olağanüstü durumlar

"Kesintiler" ve "olağanüstü durumlar" arasındaki ayrımı dikkate almak önemlidir.

kesinti , Azure Service Bus geçici olarak kullanılamaz ve hizmetin bir mesajlaşma deposu veya hatta tüm veri merkezinin bazı bileşenlerini etkileyebilir. ancak, sorun giderildikten sonra Service Bus yeniden kullanılabilir hale gelir. Genellikle kesinti, ileti veya diğer verilerin kaybedilmesine neden olmaz. Bu tür bir kesinti, veri merkezinde bir güç hatası olabilir. Bazı kesintiler, geçici veya ağ sorunları nedeniyle yalnızca kısa bağlantı kayıplarıdır.

olağanüstü durum , Service Bus kümesi, Azure bölgesi veya veri merkezi 'nin kalıcı veya uzun süreli kaybı olarak tanımlanır. Bölge veya veri merkezi bir kez daha kullanılamayabilir veya kullanılabilir olmayabilir ya da saat veya günler için kapatılmış olabilir. Bu tür felate örnek olarak Fire, taşmasını veya deprem verilebilir. Kalıcı hale gelen bir olağanüstü durum, bazı ileti, olay veya diğer verilerin kaybedilmesine neden olabilir. Ancak çoğu durumda, veri merkezi yedeklendikten sonra veri kaybı olmaması ve iletiler kurtarılabilir.

Azure Service Bus coğrafi olağanüstü durum kurtarma özelliği bir olağanüstü durum kurtarma çözümüdür. Bu makalede açıklanan kavramlar ve iş akışı, geçici veya geçici kesintilere değil olağanüstü durum senaryoları için geçerlidir. Microsoft Azure ' de olağanüstü durum kurtarma hakkında ayrıntılı bir tartışma için bu makaleyebakın.

Temel kavramlar ve terimler

Olağanüstü durum kurtarma özelliği, meta veri olağanüstü durum kurtarma uygular ve birincil ve ikincil olağanüstü durum kurtarma ad alanlarını kullanır. coğrafi olağanüstü durum kurtarma özelliği yalnızca Premium SKU 'su için kullanılabilir. Bağlantı bir diğer ad aracılığıyla yapıldığından herhangi bir bağlantı dizesi değişikliği yapmanız gerekmez.

Bu makalede aşağıdaki terimler kullanılmaktadır:

  • Diğer ad: ayarladığınız bir olağanüstü durum kurtarma yapılandırması adı. Diğer ad, tek bir tutarlı tam etki alanı adı (FQDN) bağlantı dizesi sağlar. Uygulamalar, bir ad alanına bağlanmak için bu diğer ad bağlantı dizesini kullanır. Diğer ad kullanılması, yük devretme tetiklendiğinde bağlantı dizesinin değişmeden olmasını sağlar.

  • Birincil/ikincil ad alanı: diğer ada karşılık gelen ad alanları. Birincil ad alanı "etkin" ve iletileri alır (Bu, var olan veya yeni bir ad alanı olabilir). İkincil ad alanı "pasif" ve ileti almaz. Her ikisi arasındaki meta veriler eşitlenmiş olduğundan, her ikisi de herhangi bir uygulama kodu veya bağlantı dizesi değişikliği olmadan iletileri sorunsuzca kabul edebilir. Yalnızca etkin ad alanının iletileri aldığından emin olmak için diğer adı kullanmanız gerekir.

  • Meta veriler: kuyruklar, konu başlıkları ve abonelikler gibi varlıklar; ve ad alanıyla ilişkili hizmetin özellikleri. Yalnızca varlıklar ve ayarları otomatik olarak çoğaltılır. İletiler çoğaltılmaz.

  • Yük devretme: ikincil ad alanını etkinleştirme işlemi.

Kurulum

Aşağıdaki bölüm, ad alanları arasında eşleştirmeyi ayarlamaya yönelik bir genel bakıştır.

1

Önce mevcut bir birincil ad alanını ve yeni bir ikincil ad alanını oluşturun veya kullanın, ardından ikisini eşleştirin. Bu eşleştirme size bağlanmak için kullanabileceğiniz bir diğer ad sağlar. Bir diğer ad kullandığınız için bağlantı dizelerini değiştirmeniz gerekmez. Yalnızca yeni ad alanları, yük devretme eşleştirmeye eklenebilir.

  1. Birincil ad alanını oluşturun.

  2. İkincil ad alanını farklı bir bölgede oluşturun. Bu adım isteğe bağlıdır. Bir sonraki adımda eşleştirmeyi oluştururken ikincil ad alanını oluşturabilirsiniz.

  3. Azure portal, birincil ad alanına gidin.

  4. Sol menüde coğrafi kurtarma ' yı seçin ve araç çubuğunda eşleştirmeyi başlat ' ı seçin.

    Birincil ad alanından eşleştirmeyi Başlat

  5. Eşleştirmeyi başlat sayfasında, aşağıdaki adımları izleyin:

    1. Var olan bir ikincil ad alanını seçin veya farklı bir bölgede oluşturun. Bu örnekte, var olan bir ad alanı ikincil ad alanı olarak kullanılır.

    2. Diğer ad için, coğrafi Dr eşleştirmesi için bir diğer ad girin.

    3. Ardından Oluştur’u seçin.

      İkincil ad alanını seçin

  6. aşağıdaki görüntüde gösterildiği gibi, Service Bus coğrafi-DR diğer adı sayfasını görmeniz gerekir. Ayrıca, sol taraftaki menüde coğrafi kurtarma ' yı seçerek birincil ad alanı sayfasından coğrafi-Dr diğer adı sayfasına gidebilirsiniz.

    Service Bus Coğrafi-DR diğer adı sayfası

  7. Coğrafi-Dr diğer adı sayfasında, diğer ad için birincil bağlantı dizesine erişmek üzere Sol menüdeki paylaşılan erişim ilkeleri ' ni seçin. Bağlantı dizesini birincil/ikincil ad alanına doğrudan kullanmak yerine bu bağlantı dizesini kullanın. Başlangıçta, diğer ad birincil ad alanını işaret eder.

  8. Genel bakış sayfasına geçin. Aşağıdaki eylemleri gerçekleştirebilirsiniz:

    1. Birincil ve ikincil ad alanları arasındaki eşleşmeyi bölün. Araç çubuğunda eşleştirmeyi kes ' i seçin.
    2. İkincil ad alanına el ile yük devretmek.
      1. Araç çubuğundan Yük devretmeyi seçin.

      2. Diğer adınızı yazarak ikincil ad alanına yük devretmek istediğinizi onaylayın.

      3. ikincil ad alanına güvenle yük devretmek için Kasa yük devretme seçeneğini etkinleştirin. Bu özellik, ikincil üzerinde geçiş yapmadan önce bekleyen coğrafi DR çoğaltmaları 'nın tamamlandığından emin olmanızı sağlar.

      4. Sonra Yük devretme' yı seçin.

        {alternatif-metin}

        Önemli

        Yük devretme, ikincil ad alanını etkinleştirir ve birincil ad alanını Geo-Disaster kurtarma eşleştirmeden kaldırır. Yeni bir coğrafi olağanüstü durum kurtarma çiftine sahip olmak için başka bir ad alanı oluşturun.

  9. Son olarak, bir yük devretmenin gerekli olup olmadığını algılamak için bazı izleme eklemelisiniz. Çoğu durumda, hizmet büyük bir ekosisteminin bir parçasıdır. bu nedenle, yük devretme işlemleri genellikle geri kalan alt sistem veya altyapıyla eşitlenmelidir.

standart ile premium arasında Service Bus

azure Service Bus standart ad alanınızı azure Service Bus Premium olarak geçirdiyseniz, PS/clı veya REST API aracılığıyla olağanüstü durum kurtarma yapılandırması oluşturmak için önceden var olan diğer adı (yani, Service Bus standart ad alanı bağlantı dizeniz) kullanmanız gerekir.

bunun nedeni, geçiş sırasında azure Service Bus standart ad alanı bağlantı dizeniz/DNS adınızın kendisi azure Service Bus Premium ad alanınız için bir diğer ad haline gelir.

istemci uygulamalarınızın bu diğer adı (yani, Azure Service Bus standart ad alanı bağlantı dizesi), olağanüstü durum kurtarma eşinin ayarlandığı Premium ad alanına bağlanacak şekilde kullanmanız gerekir.

Olağanüstü durum kurtarma yapılandırmasını ayarlamak için portalını kullanıyorsanız, Portal bu desteklenmediği uyarısıyla sizin için soyutlar.

Yük devretme akışı

Yük devretme müşteri tarafından el ile tetiklenir (açıkça bir komut aracılığıyla veya komutu tetikleyen istemciye ait iş mantığı aracılığıyla) ve Hiçbir zaman Azure tarafından tetiklenir. Müşteriye Azure'ın omurgasını oluşturan kesinti çözümü için tam sahiplik ve görünürlük sağlar.

4

Yük devretme tetiklendiğinde -

  1. Diğer ad bağlantı dizesi, İkincil ad alanına işaret Premium güncelleştirilir.

  2. İstemciler (gönderenler ve alıcılar) otomatik olarak İkincil ad alanına bağlanıyor.

  3. Birincil ve İkincil premium ad alanı arasındaki mevcut eşleştirme bozuk.

Yük devretme başlatıldıktan sonra -

  1. Başka bir kesinti oluşursa yeniden yük devretmek istiyor sunuz. Bu nedenle başka bir pasif ad alanı ayarlayın ve eşleştirmeyi güncelleştirin.

  2. Yeniden kullanılabilir olduktan sonra eski birincil ad alanının iletilerini çekin. Bundan sonra, coğrafi kurtarma kurulum dışında normal mesajlaşma için bu ad alanını kullanın veya eski birincil ad alanını silin.

Not

Yalnızca ileri doğru semantiği başarısız olur. Bu senaryoda yük devretme ve yeni ad alanıyla yeniden eşleştirme. Yeniden başarısız olmak desteklenmiyor; Örneğin, bir SQL.

Yük devretmeyi izleme sistemleriyle veya özel olarak yerleşik izleme çözümleriyle otomatik hale kullanabilirsiniz. Ancak bu tür otomasyonlar, bu makalenin kapsamı dışında olan ek planlama ve çalışma süreçlerini de karşılar.

2

Yönetim

Hata yaptıysanız; Örneğin, ilk kurulum sırasında yanlış bölgeleri eşlediyebilirsiniz; iki ad alanının eşleyimini herhangi bir zamanda bozabilirsiniz. Eşleştirilmiş ad alanlarını normal ad alanları olarak kullanmak için diğer adı silin.

Mevcut ad alanını diğer ad olarak kullanma

Üreticilerin ve tüketicilerin bağlantılarını değiştiremeyecek bir senaryo varsa ad alanı adını diğer ad olarak yeniden kullanabilirsiniz. Buradaki örnek koda GitHub bakın.

Örnekler

Aşağıdaki örneklerde GitHub yük devretme ayarlamayı ve başlatmayı gösterir. Bu örnekler aşağıdaki kavramları ortaya koyun:

  • Coğrafi olağanüstü durum kurtarmayı ayarlamak ve etkinleştirmek Azure Active Directory Azure Resource Manager için Service Bus bir .NET örneği ve ayarları.
  • Örnek kodu yürütmek için gereken adımlar.
  • Var olan bir ad alanını diğer ad olarak kullanma.
  • Alternatif olarak PowerShell veya CLI aracılığıyla Coğrafi olağanüstü durum kurtarmayı etkinleştirme adımları.
  • Diğer adı kullanarak geçerli birincil veya ikincil ad alanını gönderip alır.

Dikkat edilmesi gerekenler

Bu sürümde göz önünde bulundurulması gereken aşağıdaki noktalara dikkat edilmesi gerekir:

  1. Yük devretme planlamada zaman faktörlerini de göz önünde bulundurabilirsiniz. Örneğin, bağlantınız 15-20 dakikadan uzun sürerse yük devretmeyi başlatmaya karar veabilirsiniz.

  2. Hiçbir verinin çoğaltılmış olması, şu anda etkin oturumların çoğaltılmaz olduğu anlamına gelir. Ayrıca yinelenen algılama ve zamanlanmış iletiler de çalışmayabilirsiniz. Yeni oturumlar, yeni zamanlanmış iletiler ve yeni yinelemeler çalışır.

  3. Karmaşık bir dağıtılmış altyapının başarısız olması için en az bir kez yeniden çalışma gerekir.

  4. Varlıkları eşitlemek biraz zaman alsa da dakikada yaklaşık 50-100 varlık olabilir. Abonelikler ve kurallar da varlık olarak sayılır.

Kullanılabilirlik Alanları

SKU Service Bus Premium, aynı Azure Kullanılabilirlik Alanlarıiçinde hatadan yalıtılmış konumlar sağlayan bir hizmet sağlamayı destekler. Service Bus üç mesajlaşma deposu kopyasını yönetir (1 birincil ve 2 ikincil). Service Bus, veri ve yönetim işlemleri için üç kopyanın hepsini eşitler. Birincil kopya başarısız olursa, algılanan kapalı kalma süresine gerek kalmadan ikincil kopyalardan biri birincil kopyaya yükseltildi. Uygulamalar bağlantının geçici bağlantısının kes Service Bus, SDK'daki yeniden deneme mantığı otomatik olarak Service Bus.

Kullanılabilirlik alanları kullanıyorsanız hem meta veriler hem de veriler (iletiler) kullanılabilirlik alanı içinde veri merkezleri arasında çoğaltılır.

Not

Azure Kullanılabilirlik Alanları desteği Service Bus Premium kullanılabilirlik alanları mevcut olan Azure bölgelerinde kullanılabilir.

Yeni ad Kullanılabilirlik Alanları kullanarak yalnızca yeni ad alanlarında Azure portal. Service Bus, mevcut ad alanlarının geçişini desteklemez. Ad alanınız üzerinde etkinleştirdikten sonra bölge yedekliliği devre dışı bırakamazsınız.

3

Özel uç noktalar

Bu bölümde, özel uç noktaları kullanan ad alanlarıyla Coğrafi olağanüstü durum kurtarma kullanılırken daha fazla dikkat edilmesi gereken noktalar açıklandı. Genel olarak özel uç noktaları Service Bus hakkında bilgi edinmek için bkz. Azure Service Bus'i Azure Özel Bağlantı.

Yeni eşleştirmeler

Özel uç nokta ile özel uç nokta olmayan ikincil ad alanıyla birincil ad alanı arasında eşleştirmeyi denersiniz, eşleştirme başarısız olur. Eşleştirme yalnızca hem birincil hem de ikincil ad alanlarında özel uç noktalar varsa başarılı olur. Birincil ve ikincil ad alanlarında ve özel uç noktaların oluşturulacak sanal ağlarda aynı yapılandırmaları kullanmalarını öneririz.

Not

Birincil ad alanını bir özel uç nokta ve ikincil ad alanıyla eşleştirmeyi deneebilirsiniz, doğrulama işlemi yalnızca ikincil ad alanı üzerinde özel bir uç nokta olup olmadığını denetler. Uç noktanın çalışıp çalışmay olmadığını veya yük devretme sonrasında çalışıp çalışmay olmadığını denetlemez. Yük devretme sonrasında özel uç nokta ile ikincil ad alanının beklendiği gibi çalışa olduğundan emin olmak sizin sorumluluğundur.

Özel uç nokta yapılandırmalarının aynı olduğunu test etmek için, sanal ağ dışından ikincil ad alanına bir Kuyruk al isteği gönderin ve hizmetten bir hata iletisi alasınız.

Mevcut eşleştirmeler

Birincil ve ikincil ad alanı arasında eşleştirme zaten varsa, birincil ad alanı üzerinde özel uç nokta oluşturma başarısız olur. Çözümlemek için önce ikincil ad alanı üzerinde özel bir uç nokta oluşturun ve ardından birincil ad alanı için bir uç nokta oluşturun.

Not

İkincil ad alanına salt okunur erişime izin verilirken, özel uç nokta yapılandırmalarında güncelleştirmelere izin verilir.

Uygulamanıza ve uygulamanıza yönelik bir olağanüstü durum kurtarma yapılandırması Service Bus, hem birincil hem de ikincil Service Bus birincil ve ikincil örneklerini barındıran sanal ağlara karşı hem birincil hem de ikincil ad alanları için özel uç noktalar oluşturmanız gerekir.

İki sanal ağınız olduğunu diyelim: VNET-1, VNET-2 ve şu birincil ve ikinci ad alanları: ServiceBus-Namespace1-Primary, ServiceBus-Namespace2-Secondary. Aşağıdaki adımları gerçekleştirin:

  • ServiceBus-Namespace1-Primary üzerinde, VNET-1 ve VNET-2'den alt ağları kullanan iki özel uç nokta oluşturun
  • ServiceBus-Namespace2-Secondary üzerinde, VNET-1 ve VNET-2'den aynı alt ağları kullanan iki özel uç nokta oluşturun

Özel uç noktalar ve sanal ağlar

Bu yaklaşımın avantajı, yük devretmenin uygulama katmanında ad alanı dışında Service Bus olmasıdır. Aşağıdaki senaryoları göz önünde bulundurun:

Yalnızca uygulama yük devretmesi: Burada uygulama VNET-1'de mevcut olmayacak ancak VNET-2'ye taşınacak. Her iki özel uç nokta da hem birincil hem de ikincil ad alanları için hem VNET-1 hem de VNET-2'de yapılandırıldığından uygulama çalışır.

Service Bus yalnızca ad alanı yük devretmesi: Burada, her iki özel uç nokta da hem birincil hem de ikincil ad alanları için her iki sanal ağ üzerinde yapılandırıldığından, uygulama yalnızca çalışır.

Not

Sanal ağın coğrafi olağanüstü durum kurtarma kılavuzu için bkz. Sanal Ağ - İş Sürekliliği.

Rol tabanlı erişim denetimi

Azure Active Directory (Azure AD) rol tabanlı erişim denetimi (RBAC) Service Bus varlıklarına yapılan atamalar ikincil ad alanına çoğaltılmaz. İkincil ad alanına erişimin güvenliğini sağlamak için rol atamalarını el ile oluşturun.

Sonraki adımlar

Mesajlaşma hakkında daha Service Bus için aşağıdaki makalelere bakın: