`
kimmking
  • 浏览: 537699 次
  • 性别: Icon_minigender_1
  • 来自: 中华大丈夫学院
社区版块
存档分类
最新评论

两个activemq用一个mysql

阅读更多

 

发现一个activemq好玩的地方。
  两个activemq的broker实例persistence共用一个mysql数据库。会怎么样?
 
 答案是运行中的两个activemq,是没有问题的。
 一个重启的activemq,会加载数据库中存的消息,这个时候就分不清楚了,全部都加载了。
 猜想,如果消费的比生产的慢,一样会出现消息混淆的问题。
  因为正常情况下,其实存的这份消息和发出去的这份消息,从分出来以后就没有什么关系了。
 
所以,正常的流程里不会相互影响。
 
一个正常发过来的持久化的消息, 一般情况下则会变成两份,一份在内存,一份存入数据库。内容中的成功发送给消费者,就去把数据库里这条记录删掉。整个过程没有从数据库加载数据,所以不会混淆。
 
一重启或者内存放不下了,可能会出问题。
3种测试情况
先后启动两个broker A:61616和broker B:61617,配置同一个mysql数据库。
1、向A中发送数据a,B中发送数据b,数据库msgs表中存在两条记录。
     从A receive消息,得到a,从B得到消息b。msgs表清空。
2、向A中发送数据a,数据库msgs表中存在1条记录。关闭A,重启B,从B中接收一条消息a。
3、向A中发送数据a1、a2,数据库msgs表中存在2条记录。重启B。
     从B中接收一条消息a1。从A中接收一条消息a1。
     从A中接收一条消息a2。从B中接收一条消息a2。
    
   
   
分享到:
评论

相关推荐

    Fuse-Examples:使用 Gradle 作为构建工具的 JBoss Fuse 结构的 JAXWS、JAXRS、JPA 示例

    保险丝示例使用 Gradle 作为构建工具的 Jboss Fuse 结构的 JAXWS、JAXRS、JPA、... Fuse-Camel-ActiveMQ:本项目包含以下两条camel路由(i)ProducerRoute:此路由有一个 SOAP webservices 作为 From 端点。此服务将 Pers

    transactions-dubbo:dubbo项目基于atomikos的分布式事务管理

    atomikos本身支持使用两段提交协议在一个项目中,管理多个数据库事务,如mysql的事务,和符合JMS规范的多个消息事务,如activemq的事务。但是现在因为微服务框架的流行使得多个数据库的事务不在一个项目内,使得一个...

    BeePasture:蜜蜂牧场是一个数据采集清洗工具,也是一个ETL工具,同时也是一套脚本语言

    蜜蜂牧场是一个数据采集清洗工具,也是一个ETL工具,同时也是一套脚本语言。最初只是完成网页数据采集清洗入库的工作。随着它的发展,功能越来越多。拥有同步和异步两种模式。结合apache camel,可以很方面的创建...

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    SpringCloud+vue+uniapp智慧物联/物业/巡检/停车管理系统源码

    一、项目架构技术说明 基于SpringCloud微服务、分布式架构,更易扩展;项目前后端分离,后端使用JAVA,前端VUE,Uni-app框架;MySQL、Redis多种数据存储方式,只为更快;ActiveMq订阅消息队列,让订单更快流转。 二...

    java+大数据.pdf

    掌握了以上知识点⼤数据项⽬⼈选⼀个或两个 ⼤数据+⼈⼯智能项⽬ 1) ⽀付宝⽤户画像(余额宝⽤户部分)(10天) 2)⽀付宝订单系统(贷款部分)⼤数据分析 (15天) 3)阿⾥飞猪旅游⽹⼤数据分析(包含智能推荐部分...

    java+大数据(1).pdf

    lucence/solr/elasticsearch(10天) scala/phthon(每个五天) 通信框架(Mina/netty)(⼤数据中⽤到) spark(各个模块都讲解)(10天) CDH(五天) openstack(七天) 掌握了以上知识点⼤数据项⽬⼈选⼀个或两个 ⼤数据+⼈...

    springcloud入门

    springcloud-config:远程配置中心,分为git与native两个版本,为producer提供远程配置。 springcloud-connect:数据连接中心,包含DB、Redis、MQ、Mail等组件的配置入口,只需其他模块在pom中添加依赖并提供相关...

    socialDocumentLibrary:一种应用程序,可帮助IT专业人员找到适合其教育的最佳书籍

    Maninly由两个应用程序组成,最后一个用户的应用程序和雇员用户的应用程序。 该应用程序是为罗马“ La Sapienza”硕士学位的HCI考试开发的。主要技术用户中心设计REST:用于REST WS的Spring MVC / HEATOAS 消息传递...

    大数据处理流程.pdf

    MapReduce是Google公司的核⼼计算模型,它将运⾏于⼤规模集群上的复杂并⾏计算过程⾼度抽象为两个函数:map和reduce。 MapReduce最伟⼤之处在于其将处理⼤数据的能⼒赋予了普通开发⼈员,以⾄于普通开发⼈员即使...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【基础】当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 17 【基础】重载(Overload)和重写(Override)的区别。重载的方法能否...

Global site tag (gtag.js) - Google Analytics