添加新的 cassandra 节点后,我遇到了一个奇怪的 cassandra 连接问题。
添加节点前的情况:
- 数据中心 1 的服务器 1 上的 1 个 cassandra 节点
- 完全可操作的 Java 应用程序分布在多台机器上
- 数据中心 1 中的服务器 1 上的 PHP nginx Web 服务器
- 完全可操作的 PHP 应用程序(用于显示结果)
然后我在数据中心 2 中添加了第二台存储服务器。两台存储服务器的复制因子为 1(所有数据都在两台服务器上)。因此我改变了键空间。因此,数据已顺利同步,并已通过 Datastax Devcenter 应用程序检查其有效性。
添加节点后的情况:
- 数据中心 1 的服务器 1 上的 1 个 cassandra 节点
- 数据中心 2 中的服务器 2 上的 1 个 cassandra 节点
- 完全可操作的 Java 应用程序分布在多台机器上
- 数据中心 1 中的服务器 1 上的 PHP nginx Web 服务器
- PHP 应用程序崩溃异常:
All connections on all I/O threads are busy
..即使有所有可用的连接。
我接下来尝试了什么:
- 我下载了 Github Datastax PHP 代码示例
- 如果我通过控制台 php 命令从代码中运行这段代码,它就可以工作
- 如果我通过 nginx 在浏览器中运行相同的代码,我会再次收到
All connections on all I/O threads are busy
我没有更改 nginx 配置或 PHP webapp 中的任何内容。我只是更改了键空间和同步服务器。
知道如何摆脱“连接忙”错误吗?