我想将我的应用程序(有状态的)部署在kubernetes中,作为3个副本来实现高可用性。因此,只有我的应用程序的一个实例应该得到所有的请求。其他副本仅供HA使用(以防主服务器关闭)。
我知道可以部署诸如Redis或MySQL之类的东西,但它们本身提供了主从架构。https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/
如何在kubernetes中实现其他任何简单的应用程序?
发布于 2022-01-21 08:59:40
您需要将故障转移逻辑放在某个地方。无论是在服务器端还是客户端。在默认情况下,任何一个客户端都可以与实例1对话,如果没有启动,那么故障转移到实例2等等。或者,您可以在服务器端有一个代理/代理,为您执行此路由。在这种情况下,代理具有检查实例1是向上还是向下的逻辑,等等。
通常,对于有状态应用程序,故障转移并不像在主程序关闭时连接到另一个实例那样简单。它可能涉及调和状态,确保另一个副本具有最新的状态或仲裁,等等,这取决于应用程序。因此,对于所有有状态的应用程序,没有“一刀切”的类型解决方案。您需要构建并选择适合您的应用程序的模型。
https://stackoverflow.com/questions/70798403
复制相似问题