我想玩kubernetes,我可以启动一个简单的应用程序,但现在我想设计一个更复杂的东西。尽管如此,我还是想不出如何在这样的体系结构中处理数据库访问。
假设我有一些简单的聊天应用程序的100个pod副本。它们都需要访问同一个数据库(或者更像数据集)并对它们执行CRUD操作。如何设计它以保持数据的一致性并消除死锁的风险?
如果可能的话,我想使用SQL-like数据库,这样我就可以轻松地使用hibernate和其他我熟悉的工具。
这是否可能,还是我必须用完全不同的方法?我正在寻找的技术或架构的名称是什么?
发布于 2018-04-12 14:50:45
1)您可以使用连接池来减少这个数目,并使连接设置更具侵略性/弹性;
2)以这种方式拆分微服务--对持久性的访问是一种将CRUD服务暴露于持久性的微服务(mysql/rdms/nosql/等等)。这样的话,你很可能不需要数以百计的豆荚复制品。
3)死锁/锁定策略--正如安德鲁在评论中提到的,它更多地与您的软件开发体系结构有关,而不是K8s本身。有很多方法来处理这些利弊。
https://stackoverflow.com/questions/49796188
复制相似问题