Azure AI Search'te güvenilirlik
Azure genelinde güvenilirlik, hizmet kesintisi veya düşüş olduğunda dayanıklılık ve kullanılabilirlik anlamına gelir. Azure AI Search'te güvenilirlik, tek bir hizmet içinde veya ayrı bölgelerdeki birden çok arama hizmeti aracılığıyla elde edilebilir.
Tek bir arama hizmeti dağıtın ve yüksek kullanılabilirlik için ölçeği büyütün. Daha yüksek dizin oluşturma ve sorgu iş yüklerini işlemek için birden çok çoğaltma ekleyebilirsiniz. Arama hizmetiniz kullanılabilirlik alanlarını destekliyorsa, çoğaltmalar ek dayanıklılık için farklı fiziksel veri merkezlerinde otomatik olarak sağlanır.
Farklı coğrafi bölgelere birden çok arama hizmeti dağıtın. Tüm arama iş yükleri tamamen tek bir coğrafi bölgede çalışan tek bir hizmetin içinde yer alır, ancak çok hizmetli bir senaryoda, içeriğin tüm hizmetlerde aynı olması için eşitleme seçenekleriniz vardır. Ayrıca, istekleri yeniden dağıtmak için bir yük dengeleme çözümü ayarlayabilir veya hizmet kesintisi olduğunda yük devretme gerçekleştirebilirsiniz.
bölgesel düzeyde iş sürekliliği ve olağanüstü durumlardan kurtarma için, aynı yapılandırmaya ve içeriğe sahip birden çok arama hizmeti içeren bölgeler arası bir topolojiyi planlayın. Özel betiğiniz veya kodunuz, aniden kullanılamaz duruma gelirse alternatif bir arama hizmetine yük devretme mekanizması sağlar.
Yüksek kullanılabilirlik
Azure AI Search'te çoğaltmalar dizininizin kopyalarıdır. Arama hizmeti en az bir çoğaltmayla çalışır ve en fazla 12 çoğaltmaya sahip olabilir. Çoğaltma ekleme , Azure AI Search'in bir çoğaltmada makine yeniden başlatmaları ve bakım gerçekleştirmesine olanak tanırken, sorgu yürütme diğer çoğaltmalarda devam eder.
Tek tek her arama hizmeti için Microsoft bu ölçütlere uyan yapılandırmalarda en az %99,9 kullanılabilirlik garantisi verir:
Salt okunur iş yüklerinin (sorgular) yüksek kullanılabilirliği için iki çoğaltma
Okuma-yazma iş yüklerinin (sorgular ve dizin oluşturma) yüksek kullanılabilirliği için üç veya daha fazla çoğaltma
Sistem, çoğaltma durumunu ve bölüm bütünlüğünü izlemek için iç mekanizmalara sahiptir. Çoğaltmaların ve bölümlerin belirli bir bileşimini sağlarsanız, sistem hizmetiniz için bu kapasite düzeyini güvence altına alır.
Ücretsiz katman için Hizmet Düzeyi Sözleşmesi (SLA) sağlanmadı. Daha fazla bilgi için bkz . Azure AI Search için SLA.
Kullanılabilirlik alanı desteği
Kullanılabilirlik alanları , aynı bölge içinde yüksek kullanılabilirlik sağlamak için bölgenin veri merkezlerini ayrı fiziksel konum gruplarına ayıran bir Azure platformu özelliğidir. Azure AI Search'te tek tek çoğaltmalar, bölge atama birimleridir. Arama hizmeti tek bir bölgede çalışır; çoğaltmaları, bu bölgedeki farklı fiziksel veri merkezlerinde (veya bölgelerinde) çalışır.
Kullanılabilirlik alanları, arama hizmetinize iki veya daha fazla çoğaltma eklediğinizde kullanılır. Her çoğaltma, bölge içinde farklı bir kullanılabilirlik alanına yerleştirilir. Arama hizmeti bölgesindeki kullanılabilir bölgelerden daha fazla çoğaltmanız varsa, çoğaltmalar bölgeler arasında mümkün olduğunca eşit bir şekilde dağıtılır. Kullanılabilirlik alanları sağlayan bir bölgede arama hizmeti oluşturmak ve ardından hizmeti birden çok çoğaltma kullanacak şekilde yapılandırmak dışında, sizin için belirli bir eylem yoktur.
Önkoşullar
- Hizmet katmanı Standart veya daha yüksek olmalıdır
- Hizmet bölgesi kullanılabilir bölgeleri olan bir bölgede olmalıdır (aşağıdaki bölümde listelenmiştir)
- Yapılandırma birden çok çoğaltma içermelidir: ikisi salt okunur sorgu iş yükleri için, üçü dizin oluşturma içeren okuma-yazma iş yükleri için
Desteklenen bölgeler
Kullanılabilirlik alanları desteği altyapıya ve depolamaya bağlıdır. Şu anda aşağıdaki bölgede depolama alanı yetersizdir ve Azure AI Search için kullanılabilirlik alanı sağlamaz:
- Batı Japonya
Aksi takdirde, Azure AI Search için kullanılabilirlik alanları aşağıdaki bölgelerde desteklenir:
Bölge | Piyasaya çıkış tarihi |
---|---|
Doğu Avustralya | 30 Ocak 2021 veya üzeri |
Güney Brezilya | 2 Mayıs 2021 veya üzeri |
Orta Kanada | 30 Ocak 2021 veya üzeri |
Orta Hindistan | 20 Ocak 2022 veya üzeri |
Orta ABD | 4 Aralık 2020 veya üzeri |
Kuzey Çin 3 | 7 Eylül 2022 veya üzeri |
Doğu Asya | 13 Ocak 2022 veya üzeri |
Doğu ABD | 27 Ocak 2021 veya üzeri |
Doğu ABD 2 | 30 Ocak 2021 veya üzeri |
Orta Fransa | 23 Ekim 2020 veya üzeri |
Orta Batı Almanya | 3 Mayıs 2021 veya üzeri |
Orta İsrail | 1 Nisan 2024 veya üzeri |
kuzey İtalya | 1 Nisan 2024 veya üzeri |
Doğu Japonya | 30 Ocak 2021 veya üzeri |
Güney Kore - Orta | 20 Ocak 2022 veya üzeri |
Kuzey Avrupa | 28 Ocak 2021 veya üzeri |
Norveç Doğu | 20 Ocak 2022 veya üzeri |
Katar Merkezi | 25 Ağustos 2022 veya üzeri |
Güney Afrika Kuzey | 7 Eylül 2022 veya üzeri |
Orta Güney ABD | 30 Nisan 2021 veya üzeri |
Güneydoğu Asya | 31 Ocak 2021 veya üzeri |
Orta İsveç | 21 Ocak 2022 veya üzeri |
Kuzey İsviçre | 7 Eylül 2022 veya üzeri |
Kuzey BAE | 9 Eylül 2022 veya üzeri |
Güney Birleşik Krallık | 30 Ocak 2021 veya üzeri |
US Gov Virginia | 30 Nisan 2021 veya üzeri |
Batı Avrupa | 29 Ocak 2021 veya üzeri |
Batı ABD 2 | 30 Ocak 2021 veya üzeri |
Batı ABD 3 | 2 Haziran 2021 veya üzeri |
Not
Kullanılabilirlik alanları SLA'nın koşullarını değiştirmez. Sorgu yüksek kullanılabilirliği için yine de üç veya daha fazla çoğaltmaya ihtiyacınız vardır.
Ayrı coğrafi bölgelerde birden çok hizmet
Operasyonel gereksinimleriniz şunlarsa hizmet yedekliliği gereklidir:
İş sürekliliği ve olağanüstü durum kurtarma (BCDR) gereksinimleri. Kesinti olduğunda Azure AI Search anında yük devretme sağlamaz.
Genel olarak dağıtılmış bir uygulama için hızlı performans. Sorgu ve dizin oluşturma istekleri dünyanın her yerinden geliyorsa, konak veri merkezine en yakın kullanıcılar daha hızlı performans elde eder. Bu kullanıcılara yakın bölgelerde daha fazla hizmet oluşturmak, tüm kullanıcıların performansını eşitleyebilir.
İki veya daha fazla arama hizmetine ihtiyacınız varsa bunları farklı bölgelerde oluşturmak, süreklilik ve kurtarma için uygulama gereksinimlerini ve genel kullanıcı tabanı için daha hızlı yanıt sürelerini karşılayabilir.
Azure AI Search, arama dizinlerini coğrafi bölgeler arasında çoğaltmak için otomatik bir yöntem sağlamaz, ancak bu işlemin uygulanmasını ve yönetilmesini kolaylaştırabilecek bazı teknikler vardır. Bu teknikler sonraki birkaç bölümde özetlenmiştir.
Coğrafi olarak dağıtılmış arama hizmetleri kümesinin amacı, kullanıcının en düşük gecikme süresini sağlayan Azure AI Arama hizmeti yönlendirildiği iki veya daha fazla bölgede iki veya daha fazla dizine sahip olmaktır:
Birden çok hizmet oluşturarak ve veri eşitleme için bir strateji tasarlayarak bu mimariyi uygulayabilirsiniz. İsteğe bağlı olarak, yönlendirme istekleri için Azure Traffic Manager gibi bir kaynak ekleyebilirsiniz.
İpucu
Birden çok bölgeye birden çok arama hizmeti dağıtma konusunda yardım için GitHub'da tam olarak yapılandırılmış, çok bölgeli bir arama çözümü dağıtan bu Bicep örneğine bakın. Örnek, dizin eşitlemesi için iki seçenek sunar ve Traffic Manager'ı kullanarak yeniden yönlendirme isteğinde bulunur.
Birden çok hizmette verileri eşitleme
İki veya daha fazla farklı arama hizmetini eşitlenmiş durumda tutmak için iki seçenek vardır:
- Dizin oluşturucu kullanarak içerik güncelleştirmelerini arama dizinine çekin.
- Belge Ekle veya Güncelleştir (REST) API'sini veya Azure SDK eşdeğer API'sini kullanarak dizine içerik gönderin.
Her iki seçeneği de yapılandırmak için azure-search-multiple-region deposunda bölgelerinizde ve dizin oluşturma stratejilerinizde değiştirilmiş örnek Bicep betiğini kullanmanızı öneririz.
1. Seçenek: Birden çok hizmette içeriği güncelleştirmek için dizin oluşturucuları kullanma
Zaten bir hizmette dizin oluşturucu kullanıyorsanız, ikinci bir hizmette ikinci bir dizin oluşturucuyu aynı veri kaynağı nesnesini kullanacak şekilde yapılandırabilir ve aynı konumdan veri çekebilirsiniz. Her bölgedeki her hizmetin kendi dizin oluşturucu ve hedef dizini vardır (arama dizininiz paylaşılmamıştır, yani her dizinin kendi veri kopyası vardır), ancak her dizin oluşturucu aynı veri kaynağına başvurur.
Bu mimarinin nasıl görüneceğine dair üst düzey bir görsel aşağıdadır.
Seçenek 2: Birden çok hizmete içerik güncelleştirmeleri göndermek için REST API'lerini kullanma
Arama dizininize içerik göndermek için Azure AI Search REST API'sini kullanıyorsanız, bir güncelleştirme gerektiğinde değişiklikleri tüm arama hizmetlerine göndererek çeşitli arama hizmetlerinizi eşitlenmiş durumda tutabilirsiniz. Kodunuzda, bir arama hizmetinde güncelleştirmenin başarısız olduğu ancak diğer arama hizmetleri için başarılı olduğu durumları işlediğinizden emin olun.
Yük devretme veya sorgu isteklerini yeniden yönlendirme
İstek düzeyinde yedekliliğe ihtiyacınız varsa Azure çeşitli yük dengeleme seçenekleri sunar:
- Azure Traffic Manager, istekleri daha sonra birden çok arama hizmeti tarafından yedeklenen birden çok coğrafi konuma sahip web sitesine yönlendirmek için kullanılır.
- Application Gateway, uygulama katmanındaki bir bölgedeki sunucular arasında yük dengelemesi yapmak için kullanılır.
- Web trafiğinin genel yönlendirmesini iyileştirmek ve genel yük devretme sağlamak için kullanılan Azure Front Door.
Yük dengeleme seçeneklerini değerlendirirken göz önünde bulundurulması gereken bazı noktalar:
Arama, bir istemciden gelen sorgu ve dizin oluşturma isteklerini kabul eden bir arka uç hizmetidir.
İstemciden arama hizmetine yönelik isteklerin kimliği doğrulanmalıdır. Arama işlemlerine erişim için çağıranın rol tabanlı izinlere sahip olması veya istekte bir API anahtarı sağlaması gerekir.
Hizmet uç noktalarına varsayılan olarak genel İnternet bağlantısı üzerinden ulaşılır. Sanal ağ içinden kaynaklanan istemci bağlantıları için özel bir uç nokta ayarlarsanız Application Gateway'i kullanın.
Azure AI Search uç noktaya gönderilen
<your-search-service-name>.search.windows.net
istekleri kabul eder. Ana bilgisayar üst bilgisinde CNAME gibi farklı bir DNS adı kullanarak aynı uç noktaya ulaşırsanız istek reddedilir.
Azure AI Search, birincil uç nokta başarısız olursa istek yeniden yönlendirmesi için Azure Traffic Manager'ı kullanan çok bölgeli bir dağıtım örneği sağlar. Bu çözüm, yalnızca aynı bölgedeki bir arama hizmetini çağıran arama özellikli bir istemciye yönlendirdiğinizde kullanışlıdır.
Azure Traffic Manager öncelikli olarak belirli yönlendirme yöntemlerine (öncelik, performans veya coğrafi konum gibi) göre ağ trafiğini farklı uç noktalar arasında yönlendirmek için kullanılır. Gelen istekleri uygun uç noktaya yönlendirmek için DNS düzeyinde hareket eder. Traffic Manager'ın hizmet vermekte olduğu bir uç nokta istekleri reddetmeye başlarsa, trafik başka bir uç noktaya yönlendirilir.
Traffic Manager, Azure AI Search'e doğrudan bağlantı için uç nokta sağlamaz; bu da bir arama hizmetini Traffic Manager'ın hemen arkasına yerleştiremezsiniz. Bunun yerine, isteklerin Traffic Manager'a, ardından arama özellikli bir web istemcisine ve son olarak da arka uçta bir arama hizmetine akışı olduğu varsayımı yer alır. İstemci ve hizmet aynı bölgede bulunur. Bir arama hizmeti devre dışı kalırsa, arama istemcisi başarısız olur ve Traffic Manager kalan istemciye yönlendirilir.
Çok bölgeli dağıtımda veri yerleşimi
Çeşitli coğrafi bölgelere birden çok arama hizmeti dağıttığınızda, içeriğiniz her arama hizmeti için seçtiğiniz bölgede depolanır.
Azure AI Search, yetkilendirmeniz olmadan verileri belirtilen bölgenizin dışında depolamaz. Yetkilendirme, bir Azure Depolama kaynağına yazan özellikleri kullandığınızda örtülüdür: zenginleştirme önbelleği, hata ayıklama oturumu, bilgi deposu. Her durumda, depolama hesabı seçtiğiniz bölgede sağladığınız bir hesaptır.
Not
Hem depolama hesabı hem de arama hizmeti aynı bölgedeyse, arama ve depolama arasındaki ağ trafiği özel bir IP adresi kullanır ve Microsoft omurga ağı üzerinden gerçekleşir. Özel IP adresleri kullanıldığından, ip güvenlik duvarlarını veya ağ güvenliği için özel uç noktayı yapılandıramazsınız. Bunun yerine, her iki hizmet de aynı bölgede olduğunda alternatif olarak güvenilen hizmet özel durumunu kullanın.
Hizmet kesintileri ve yıkıcı olaylar hakkında
SLA'da belirtildiği gibi Microsoft, bir Azure AI Arama hizmeti örneği iki veya daha fazla çoğaltmayla yapılandırıldığında dizin sorgusu istekleri için yüksek düzeyde kullanılabilirlik ve bir Azure AI Arama hizmeti örneği üç veya daha fazla çoğaltmayla yapılandırıldığında dizin güncelleştirme isteklerini garanti eder. Ancak olağanüstü durum kurtarma için yerleşik bir mekanizma yoktur. Microsoft'un denetimi dışında yıkıcı bir hata olması durumunda sürekli hizmet gerekiyorsa, farklı bir bölgede ikinci bir hizmet sağlamanızı ve dizinlerin tüm hizmetlerde tamamen yedekli olduğundan emin olmak için bir coğrafi çoğaltma stratejisi uygulamanızı öneririz.
Dizinleri doldurmak ve yenilemek için dizin oluşturucuları kullanan müşteriler, aynı veri kaynağından veri alan coğrafi olarak özel dizin oluşturucular aracılığıyla olağanüstü durum kurtarmayı işleyebilir. Farklı bölgelerdeki her birinde dizin oluşturucu çalıştıran iki hizmet, coğrafi olarak yedeklilik elde etmek için aynı veri kaynağını dizine alabilir. Coğrafi olarak yedekli veri kaynaklarından dizin oluşturabiliyorsanız, Azure AI Search dizin oluşturucularının birincil çoğaltmalardan yalnızca artımlı dizin oluşturma (yeni, değiştirilmiş veya silinmiş belgelerdeki güncelleştirmeleri birleştirme) gerçekleştirebileceğini unutmayın. Bir yük devretme olayında, dizin oluşturucuyu yeni birincil çoğaltmaya yeniden yönlendirmeyi unutmayın.
Dizin oluşturucuları kullanmıyorsanız, nesneleri ve verileri paralel olarak farklı arama hizmetlerine göndermek için uygulama kodunuzu kullanırsınız. Daha fazla bilgi için bkz . Birden çok hizmet arasında verileri eşitleme.
Alternatifleri yedekleme ve geri yükleme
Veri katmanı için iş sürekliliği stratejisi genellikle bir yedeklemeden geri yükleme adımı içerir. Azure AI Search birincil veri depolama çözümü olmadığından, Microsoft self servis yedekleme ve geri yükleme için resmi bir mekanizma sağlamaz. Ancak, dizin tanımınızı ve anlık görüntünüzü bir dizi JSON dosyasına yedeklemek için bu Azure AI Search .NET örnek deposundaki dizin-yedekleme-geri yükleme örnek kodunu kullanabilir ve gerekirse dizini geri yüklemek için bu dosyaları kullanabilirsiniz. Bu araç, dizinleri hizmet katmanları arasında da taşıyabilir.
Aksi takdirde, bir dizini yanlışlıkla silerseniz dizin oluşturmak ve doldurmak için kullanılan uygulama kodunuz aslında geri yükleme seçeneğidir. Bir dizini yeniden oluşturmak için dizini silersiniz (var olduğunu varsayarsak), hizmette dizini yeniden oluşturur ve birincil veri deponuzdan veri alarak yeniden yüklersiniz.
İlgili içerik
- Fiyatlandırma katmanları ve hizmet sınırları hakkında daha fazla bilgi edinmek için Hizmet sınırları'nı gözden geçirin.
- Bölüm ve çoğaltma birleşimleri hakkında daha fazla bilgi edinmek için Kapasite planı bölümünü gözden geçirin.
- Örnek Olay İncelemesi: Daha fazla yapılandırma kılavuzu için Karmaşık Yapay Zeka Senaryolarını Desteklemek için Bilişsel Arama'yı kullanın.