我正在开发一个使用 Cassandra 作为数据存储的 Flask 网络服务。
Web 服务设置为使用 Cassandra 的共享 session ,据我所知,它会自动处理连接池。
当我部署应用程序时,在一段时间内一切正常,但在一定时间后 session 会丢失集群中的所有 C* 主机并拒绝尝试重新连接。它只是出错并显示消息:无法完成对任何主机的操作
。
我该怎么做才能让 session 自动尝试重新连接到集群或检测到 session 已中断以便我可以将其关闭并创建一个新 session ?
最佳答案
您不需要创建新 session 。假设您使用的是 datastax python-driver ,驱动程序维护订阅节点上/下事件的“控制连接”。如果控制连接丢失,它将重新连接到集群中的另一台主机。这对 turn on debug logging 很有用,这将揭示集群中的节点被标记为关闭的原因。
关于python - Shared Cassandra Session 失去连接,应用必须重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797497/