在 Azure 上部署 Meilisearch 實例
以下是由 Microsoft 的資料工程領導倡導者 Christopher Maneu 所撰寫的客座文章。
簡介
在本教學中,我們將了解如何在 Azure 上部署 Meilisearch 實例,以及在 Azure 上託管生產 Meilisearch 實例的一些考量。
提示
如果您還沒有 Azure 訂閱,您可以在此處建立一個。透過 Azure 免費層,您可以免費執行 Meilisearch 實例至少 12 個月。
一鍵部署
您可以透過官方的 Meilisearch Docker 映像檔,點擊以下按鈕來部署 Meilisearch 實例
點擊此按鈕時,您將被重新導向至 Azure 入口網站並詢問一些問題
- 「區域」:這是部署區域。您應該選擇一個靠近您或您使用者的區域
- 「環境」:您要部署到的環境名稱,例如
dev
(用於開發)或prod
(用於生產)。此設定對部署的資源類型沒有影響。它只是為了方便起見 - 「應用程式名稱」:您的應用程式名稱。此名稱在**所有 Azure 客戶中應為唯一**。部署應用程式的 URL 將包含此值
- 「位置」:這是資源的位置。由於超出本文檔範圍的原因,此參數與「*區域*」參數不同。預設情況下,它設定為
eastus
,但您可以輸入任何 Azure 位置(例如francecentral
、westeurope
或japaneast
) - 「
Meilisearch_apikey
」:這將是您 Meilisearch 實例的主金鑰。雖然我們預設會產生隨機金鑰,但我們建議您設定自己的金鑰
填寫完這些欄位後,請點擊「檢閱 + 建立」按鈕,然後點擊「建立」按鈕。
警告
預設情況下,建立的實例是採用標準方案。這將導致您的訂閱產生費用。您可以稍後將其變更為免費層,或透過編輯基礎結構即程式碼 (請參閱下方)。
幾分鐘後,部署將完成。您可以點擊左側的「輸出」索引標籤來存取您的實例 URL。
提示
雖然 Meilisearch 通常會公開在 7700
連接埠上,但此部署會將您的實例公開在 433
連接埠上。SSL 憑證將由 Azure 為您產生和管理。
此一鍵按鈕發生了什麼事?
此按鈕使用基礎結構即程式碼 Bicep 檔案。程式碼是開放原始碼,並託管在 GitHub。您可以根據需要提交 PR,或在您自己的專案中使用它。
此程式碼將設定兩個主要元件
- 一個 **Azure App Service** 實例,用於託管 Meilisearch 容器
- 一個 **Azure 檔案共用**,它會被磁碟區對應到 Meilisearch 容器中以進行資料庫持續性
可供生產環境使用的部署
我們在一鍵部署中做了一些*主觀的選擇*,這些選擇應該適用於大多數可供生產環境使用的部署。本節說明您在生產環境部署中需要注意的一些選擇。
資料冗餘和備份
一鍵按鈕會建立一個具有「LRS」冗餘選項的儲存體。這表示您的資料會在多個伺服器之間複製,但在同一個資料中心內。您可以變更此設定,透過修改範本來選擇多區域或多區域冗餘選項。
預設情況下,不會自動備份您的索引。如果您想要使用 Azure Backup 功能來達到此結果,您可以查看 Azure 檔案共用備份。
提示
Meilisearch 具有快照和傾印功能,可協助您改善備份能力。如需詳細資訊,請參閱資料備份文件。
永遠開啟
為了啟用免費方案,「永遠開啟」選項預設為停用。這表示在一段時間沒有任何流量後,您的執行個體將會被停用。當下一個客戶端連線到您的執行個體時,它將會自動重新啟動。然而,您將會遇到數十秒的響應時間。
您可以透過啟用「永遠開啟」功能來避免這種冷啟動,無論是在 Azure 入口網站中或是透過基礎架構即程式碼來進行設定。
App Service 自動調整規模
Azure App Service 提供水平自動調整規模功能,讓您能夠自動新增更多伺服器來處理傳入的請求。
在撰寫本文時,Meilisearch 尚未準備好使用相同的底層儲存來處理多個伺服器。啟用此功能可能會導致意料之外的結果,且不應將其視為生產環境的考量。
如果您需要更強大的處理能力,可以使用 App Service 的擴增功能。