java – 什么时候应该在ActiveMQ中使用JDBC持久性适配器?

阅读ActiveMQ文档(我们正在使用5.3版本),我找到一个关于使用ActiveMQ使用JDBC持久性适配器的可能性的部分.

有什么好处?它是否提供性能或可靠性的任何增益?什么时候应该用它?

解决方法

在我看来,如果您想要一个故障切换代理,并且您无法使用该文件系统,您将使用JDBC持久性. JDBC持久性比在日志文件系统中慢得多(在我们的测试期间).对于单个代理商,日志文件系统是最好的.

如果您在主动/被动故障切换中运行两个经纪人,则两个经纪人必须能够访问相同的日志/数据存储,以便被动代理可以检测并接管主要的故障.如果您使用的是日志文件系统,那么这些文件必须位于使用NFS,WinShare,iSCSI等的某种共享网络驱动器上.如果要将文件共享删除,通常需要一个更高端的NAS设备单点故障.

一个选择是您可以将这两个经纪人指向数据库,哪些大多数应用程序已经可以访问.这种折衷通常是性能上的简单性,因为我们的测试中记录的JDBC持久性较慢.

我们通过NFS挂载到一个专用的NAS设备,将ActiveMQ运行在具有日志记录持久性的主动/被动代理对中,并且对我们来说非常有效.我们能够通过我们的系统处理超过600 msgs /秒没有任何问题.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...