我们想要 ActiveMQ 的 HA。我探索了数据库和 Zookeeper 的选项。我想检查共享存储的选项。在文档中提到了存储区域网络。但是我无权访问 SAN。
我可以使用消息存储在 NAS 上的共享文件夹中吗?或文件系统上的某个共享目录?
问候, 乙脑
我们想要 ActiveMQ 的 HA。我探索了数据库和 Zookeeper 的选项。我想检查共享存储的选项。在文档中提到了存储区域网络。但是我无权访问 SAN。
我可以使用消息存储在 NAS 上的共享文件夹中吗?或文件系统上的某个共享目录?
问候, 乙脑
您可以设置 NFSv4 文件共享并将该目录安装在 kahadb 持久性适配器中。
考虑以下activemq.xml
:
<persistenceAdapter>
<kahaDB directory="{YOUR_SHARED_STORAGE_DIRECTORY}" lockKeepAlivePeriod="5000">
<locker>
<shared-file-locker lockAcquireSleepInterval="10000" />
</locker>
</kahaDB>
</persistenceAdapter>
如文档中所述,您需要一个支持文件锁定(即 NFS4)的文件系统,并且您的文件系统需要非常可靠。我不是文件系统专家,所以我不确定有什么东西可以满足这个要求,但我知道比“SAN”更重要。我相信提到 SAN 是因为它的可靠性,但还有其他可靠的网络存储选项。
KahaDB
也可以!
文档并没有说KahaDB也可以用,但是我自己试过KahaDB也支持加锁,效果很好。
由于 KahaDB 已经提供了 activeMQ,因此不需要任何额外的东西,它会很容易使用。
希望对您有所帮助,谢谢!