我在 node.js 中使用 cassandra-driver 模块。我的用例是当 Cassandra 节点由于某种原因关闭时,我在 UI 中发出通知说“数据库处于关闭状态”。
基本上,一旦 casssandra 出现故障,我应该能够在 node.js 中使用 cassandra-driver 捕获信息
任何帮助表示赞赏。
我在 node.js 中使用 cassandra-driver 模块。我的用例是当 Cassandra 节点由于某种原因关闭时,我在 UI 中发出通知说“数据库处于关闭状态”。
基本上,一旦 casssandra 出现故障,我应该能够在 node.js 中使用 cassandra-driver 捕获信息
任何帮助表示赞赏。
您可以定期检查client.hosts
已关闭的节点。或者最好定义像, etc.这样的钩子hostDown
,并使用它们来决定集群是否不可用。
对于我正在使用的临时解决方案,client.hosts 不起作用
client.on('log', (level, className, message, furtherInfo) => {
if(level === 'error' && ['NoHostAvailableError', 'OperationTimedOutError'].includes(furtherInfo.name)) {
emitNotification('DB_IS_DOWN');
});
如果有人有更好的解决方案,非常欢迎您。
注意:这个解决方案非常适合我!