我想设置一个ActiveMQ Master/Slave cluster
如果我理解正确(请纠正我,如果我错了),这需要一个JDBC支持数据库,如MySql,这只是为了同步目的。
问题是,我已经有一个MongoDB集群,所以我想避免安装另一个数据库。是否可以使用MongoDB或其他已有的东西?
答案 0 :(得分:4)
使用ActiveMQ进行Master / Slave的方法是将持久性存储保持在共享的某个位置。虽然它适用于使用普通JDBC的大多数主要数据库,但它仍然需要像表锁这样的功能来确定哪个服务器是主服务器。我知道没有适用于MongoDB的JDBC / SQL驱动程序可以正确处理这个问题。
ActiveMQ Master / Slave的推荐方法是在某处使用共享磁盘区域以保持持久性(SAN或类似)。即使使用SQL数据库服务器,JDBC方法也非常慢。
而且 - 不。该数据库不仅用于同步。每条持久性消息都将写入其中。
<强>更新强>
从ActiveMQ 5.9.0开始,还有clustered approach可用,它使用LevelDB。