簡體   English   中英

如何使用 FastAPI 使數據庫中的數據跨多個節點持久保存?

[英]How to have data in a database with FastAPI persist across multiple nodes?

如果我使用https://github.com/tiangolo/full-stack-fastapi-postgresql項目生成器,如何能夠跨多個節點(使用 docker swarm 或 kubernetes)保存數據?

據我了解,volumes 目錄中的任何 postgresql 數據對於每個節點(例如每個 digitalocean droplet)都是不同的。 在這種情況下,用戶可能會詢問他們的數據,被 traefik 引導到具有不同卷目錄的節點,並返回不同的信息,因為他們可能已被引導到另一個節點。 這樣對嗎?

如果是這樣,讓運行數據庫的多台服務器一起工作並在數據庫中擁有相同數據的最佳方法是什么?

在 kubernetes 上,持久卷用於關聯掛載在集群中任何位置的 pod 上的存儲,並通過為集群提供映射到映射到某種 SAN 存儲的驅動程序的存儲類來管理它們。

Docker / Docker swarm 對 docker volume 插件也有類似的支持,但隨着 K8s 的崛起,幾乎沒有活躍的開源項目,而之前的大多數商業 SAN 驅動程序供應商都遷移到了 K8s。

盡管如此,根據您的容忍度,您可以混合使用直接 nfs/fuse 安裝,nfs/glusterfs 空間中有一些未完全廢棄的 docker 卷驅動程序可用。

這個問題moby/moby #39624解決了 CSI 支持,我們希望在 2021 年看到下降,這將使 swarm 重新與 k8s 保持一致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM