在 Azure 中部署 Meilisearch 实例
下面是 Microsoft 数据工程领导支持者 Christopher Maneu 撰写的客座文章。
引言
在本教程中,我们将了解如何在 Azure 中部署 Meilisearch 实例,以及一些在 Azure 中托管生成环境 Meilisearch 实例的注意事项。
技巧
如果您尚未订阅 Azure,可以 在此处创建。
一键部署
您可以通过官方 Meilisearch Docker 映像,通过单击以下按钮来部署 Meilisearch 实例
单击此按钮后,您将被重定向到 Azure 门户并被询问几个问题
- “区域”:这是部署区域。您应该选择靠近您或您用户附近的区域
- “环境”:您要部署到的环境的名称,如
dev
(用于开发)或prod
(用于生产)。此设置不会影响所部署资源的类型。这只是为了方便 - “应用程序名称”:您应用程序的名称。此名称应对所有 Azure 客户都是唯一的。应用程序的部署位置的 URL 会包含此值
- “位置”:这是资源位置。出于超出本文档范围的原因,此参数与区域参数不同。默认情况下,它设置为
eastus
,但您可以键入任何 Azure 位置(如francecentral
、westeurope
或japaneast
) - “
Meilisearch_apikey
”:这将成为您 Meilisearch 实例的 主密钥。虽然我们默认生成一个随机密钥,但我们建议您设置自己的密钥
填写完这些字段后,单击“审阅 + 创建”按钮,然后单击“创建”按钮。
警告
默认情况下,创建的实例采用的是标准计划。这将在您的订阅中产生费用。稍后,您可以将其更改为免费套餐,或通过编辑基础设施即代码(请参见下文)来更改。
几分钟后,部署将完成。您可以通过单击左侧的“输出”选项卡来访问您的实例 URL。
技巧
Meilisearch 通常在端口 7700
上公开,而此部署将在端口 433
上公开你的实例。Azure 会为你生成和管理 SSL 证书。
此一键按钮有什么用?
此按钮使用基础架构即代码 bicep 文件。代码是开源的,托管在 GitHub. 你可以在需要时提交 PR,或在自己的项目中使用它。
此代码将设置两个主要组件:
- 托管 Meilisearch 容器的 Azure 应用服务 实例。
- 体积映射到 Meilisearch 容器用于数据库持久性的 Azure 文件共享。
可用于生产的部署
我们在一键部署中做出了一些主观的选项,这些选项应该适用于大多数可用于生产的部署。本节说明了在生产部署的上下文中你需要了解的部分选项。
数据冗余和备份
一键按钮使用“LRS”冗余选项创建了一个存储。这意味着你的数据复制到多台服务器,但位于相同的数据中心。你可以通过修改模板,将此设置更改为选择多区域或多区域冗余选项。
默认情况下,不会自动备份你的索引。如果你希望使用 Azure 备份功能来实现此结果,你可以查看 Azure 文件共享备份。
技巧
Meilisearch 具有可以帮助改善备份功能的快照和转储功能。有关更多信息,请参阅 数据备份文档。
始终启用
为启用免费套餐,始终启用选项默认情况下处于禁用状态。这意味着在一段时间内没有任何流量之后,你的实例将停用。当下一个客户端访问你的实例时,它将自动重新启动。但是,你将有十几秒的响应时间范围。
你可以通过在 Azure 门户或基础架构即代码中启用始终启用功能来避免此冷启动。
应用服务自动缩放
Azure 应用服务提供了一个水平自动缩放功能,可以根据此功能自动添加更多的服务器来处理传入的请求。
在撰写本文之时,Meilisearch 还没有准备好使用同一基础存储处理多台服务器。启用此功能可能会导致意外的结果,因此不应将此功能考虑用于生产环境。
如果您需要更多的处理能力,可以使用应用服务的扩大功能。