activemq - 如果 ActiveMQ 中“Replicated levelDB Store”中的客户端无法访问 MASTER 节点,会发生什么情况?
问题描述
所以“ Replicated LevelDB Store ”的文档说:
选出的主代理节点启动并接受客户端连接。其他节点进入从模式并连接主节点并同步它们的持久状态/w。从节点不接受客户端连接。所有持久性操作都复制到连接的从站。如果 master 死了,最新更新的 slave 将被提升为 master。然后可以使故障节点重新联机并进入从属模式。
所以存在一个选择的主节点,它接受客户端连接,其余的是复制的从节点,不接受客户端连接。美好的。
因此,如果主人死了,一切正常 - 主人选择,客户断开连接,并最终连接到新的主人。惊人的。
现在,如果从 Zookeeper 的角度来看 master 没有死,但客户端无法访问它,会发生什么。所以选择了一个主人,它被认为是活的(据我所知,动物园管理员需要能够连接到它才能被认为是可用的),但实际的客户端无法连接到它?
当然客户端可以连接到其他从节点,他们只是不能连接到主节点。但是主人永远不会改变,因为它是活的。它是这样工作的吗?
不确定我是否理解正确。
解决方案
ActiveMQ 中的 LevelDB 支持已被弃用,并且已经存在了相当长的一段时间(几年),所以我建议不要打扰它,因为没有支持并且大量未修复的开放错误。
我建议改为查看ActiveMQ Artemis。
推荐阅读
- c# - 需要使用 TaskCompletionSource 保持代码执行直到属性为空
- javascript - 使用 React-Hooks 单击按钮后如何显示不同的组件?
- string - 删除scala中字符串中所有匹配模式的子字符串
- java - 如何打印由另一个类引用的所有对象
- php - 获取列sql中的值
- android - 将数据从 recyclerView 传递到另一个 recycleView
- facebook - 应用审核成功后,FB live API 失败
- crystal-lang - 如何获取文件的 atime 和 ctime (Crystal-lang)
- point-cloud-library - 比较两个点云相似度的度量
- django - 如何修复 Django 视图中的 UnboundLocalError