當前位置:
首頁 > 科技 > 如何在Kubernetes構建資料庫服務?

如何在Kubernetes構建資料庫服務?

用戶使用雲資料庫,現在有幾種方法,包括在虛擬機或是Kubernetes上執行,或是直接採用完全託管的服務,Google對此提供了一些建議,供用戶在選擇資料庫之前做參考。

Kubernetes的應用越來越熱門,許多應用被容器化,甚至專門將軟體容器化的服務也熱門起來,但這個熱潮並沒有發生在資料庫上,Google提到,可以容器化的工作負載,通常具有能適應頻繁地重新啟動、橫向擴展、虛擬化等其他限制,因此資料庫在服務的可用性等要求,限制了數據在分散式環境中執行的發展。

Google提到,但是仍有不少開發團隊,希望資料庫可以使用與應用相同的堆棧,而運營人員也能使用相同的工具管理。比起完全託管的資料庫服務Cloud Spanner、Cloud Bigtable和Cloud SQL等,和在虛擬機上全自運營的選項,在Kubernetes上執行資料庫雖然偏向全自運營,但是Kubernetes提供的自動化功能,是能為運營人員省掉一些麻煩,但Google提醒,運營人員要有心理準備,因為Pod狀態僅為暫時性的,而且資料庫應用重新啟動與故障轉移機率比較高,且資料庫管理員的工作像是備份、擴展和調整等工作,會因為容器化新增的抽象層而不同。

由於Kubernetes的Pod是會消失的,因此故障轉移事件性的可能性,會高於傳統託管或是完全託管的資料庫,而好處是,當要執行的資料庫,需要包含分片、故障轉移選擇或是內建的複製等功能,那在Kubernetes上運營將會更容易,部分開源項目還提供自定義義資源以及運營工具,以幫助用戶管理資料庫。

Google製作了一個判定樹圖,供用戶評估並選擇適合的雲資料庫的方案,要在Kubernetes上構建資料庫,最先需要了解的是,資料庫的功能以及生態系統的項目是否對Kubernetes友善,再來還需要評估組織運營工作負載的能力,有充足的運營能力再選擇在Kubernetes上自建資料庫。

在資料庫的選擇上,Google表示,開發人員需要考慮資料庫在應用和業務環境中執行的功能,存儲較多暫時狀態以及快取層的資料庫,更適合在Kubernetes上運行,因為該類型的資料庫通常擁有較高的彈性,因此也能夠在Kubernetes上提供較好的服務質量。另外,運營人員需要考慮資料庫支持的複製模式,非同步複製可能產生數據遺失等問題,因為交易可能只提交到主資料庫,而沒有傳送給輔助資料庫,運營人員需要靠考慮數據遺失,以及可接受遺失的數據量。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲智時代 的精彩文章:

AWS正式發布Kafka雲服務,不用再為配置複雜操心了

TAG:雲智時代 |