Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
尽管Azure AI Search是单区域服务,但可以通过跨多个区域部署具有相同配置和内容的多个搜索服务来实现更高的可靠性。
本文介绍跨区域解决方案的组件,这些组件依赖于您的自定义脚本或代码来处理服务不可用时的容灾切换。
有关 Azure AI Search 的可靠性功能(包括通过可用区实现的区域内复原能力)的详细信息,请参阅 Azure AI Search 中的可靠性。
为何使用多个区域?
如果需要两个或更多的搜索服务,您可以在不同的区域中创建它们,以满足以下运营要求:
对区域中断的复原能力。 如果发生中断,Azure AI Search不提供即时切换到另一个区域。
全局分布式应用程序的快速性能。 如果索引和查询请求来自世界各地,则最接近主机数据中心的用户的性能会更快。 在靠近这些用户的区域中创建更多服务可以均衡每个人的性能。
多区域体系结构
在多区域设置中,两个或多个搜索服务位于不同的区域中,并具有同步索引。 用户会自动路由到服务,延迟最低。
Azure AI Search不提供跨区域索引复制的自动化方法。 但是,可以使用 推送或拉取模型索引来同步数据,这两者均在以下部分中介绍。 还可以为请求重定向添加 Azure 流量管理器或其他负载均衡器。
下图演示了一组地理分布的搜索服务:
小窍门
有关完整实现,请参阅 GitHub 上的 Bicep 示例。 该示例部署了一个完全配置的多区域搜索解决方案,可以根据您所在的区域和索引策略进行修改。
数据同步
若要同步两个或多个不同的搜索服务,可以:
- 使用 Documents - 索引(REST API)或Azure SDK 中的等效 API 将内容推送到索引中。
- 使用索引器将内容拉取到 索引中。
如果使用 REST API 将内容推送到索引中,则可以在发生更改时向每个服务发送更新来同步多个搜索服务。 确保代码处理一个服务更新失败但其他服务失败的情况。
数据驻留
在不同的区域中创建多个搜索服务时,内容将存储在你为每个服务选择的区域。
Azure AI Search未经授权,不会将数据存储在指定区域之外。 使用需要写入Azure存储功能时,授权是隐式的,您需要在首选区域中提供一个存储帐户。 这些功能包括:
如果搜索服务和存储帐户位于同一区域,则网络流量会通过 Microsoft 的主干网络使用专用 IP 地址,因此无法为网络安全配置 IP 防火墙或专用终结点。 或者,您可以使用
请求故障转移和重定向
对于请求级别的冗余,Azure 提供了多种负载均衡选项:
使用 Azure Application Gateway 在应用程序层区域中的服务器之间进行负载均衡。
默认情况下,服务终结点通过公共 Internet 连接进行访问。 如果为从虚拟网络中发起的客户端连接设置了专用终结点,请使用应用程序网关。
评估这些负载均衡选项时,请考虑以下几点:
Azure AI Search是接受来自客户端的索引和查询请求的后端服务。
默认情况下,服务终结点通过公共 Internet 连接进行访问。 对于源自“虚拟网络”中的专用终结点,我们建议使用 Azure Application Gateway。
Azure AI Search接受发送到
<your-search-service-name>.search.azure.cn终结点的请求。 如果在主机头中使用不同的 DNS 名称(例如 CNAME)访问同一终结点,则请求将被拒绝。必须对从客户端向search service发出的请求进行身份验证。 若要访问搜索操作,调用方必须具有基于角色的权限或在请求中提供 API 密钥。