标题描述了我们在组织中想要实现的目标。
我们有一个数据库密集型应用程序,我们的单个SQL Server机器正在苦苦挣扎。
我们正在阅读有关Azure,Docker和Kubernetes的文章,但我们害怕尝试这些技术。
我们的问题是数据复制。
我们如何才能获得可扩展性?如果我们在三个不同的容器中有三个不同的SQL Server实例,那么数据是如何在它们之间复制的? (意思是,用户将新产品插入共享库,访问不同节点/容器的其他用户应该能够看到该产品)。
也许我们根本不需要容器,而Azure提供了另一种扩展数据库的方法?
我们非常感谢你们的任何帮助。
问候,克里斯。
答案 0 :(得分:0)
我建议不要尝试在K8上运行数据库。 Kubernetes容器通常应该是无状态应用程序,并且不是为持久数据存储而设计的。 Azure提供数据库即服务,可以根据您的需求进行适当扩展(Azure Pricing for Cloud SQL
我们曾尝试在Kubernetes pod中运行我们的Postgres DB,但我害怕改变任何东西。不值得,而不是系统的设计目标。
如果你真的真的致力于这条道路,你可以查看MySQL NDB Cluster MySQL for distributed environments。它应该适应Kubernetes范式。