ActiveMQ

1、什么是MQ?

    消息队列,消息的中间件。

2、ActiveMQ

    java消息服务:不同系统之间的消息交换,是开发中常见的场景,比如系统A要将数据发送给系统B,这时候我们就需要中间件,随后sun公司提出了一种面向消息的中间件服务--JMS规范;常用的几种信息交互技术(httpClient、hessian、dubbo、jms、webservice 五种)

   JMS概述:JMS即java消息服务,是JavaEE的标准之一。这种标准指出:消息的发送应该是异步的、非阻塞的。也就是说消息的发送者发送完消息后就直接返回了,不需要等待接收者返回后才能返回,发送者和接收者可以说是互不影响。所以这种标准能够减轻货消除系统瓶颈,实现系统之间去除耦合,提高系统的整体可伸缩性和灵活性。JMS只是Java EE中定义的一组标准API,它自身并不是一个消息服务系统,它是消息传送服务的一个抽象,也就是说它定义了消息传送的接口而并没有具体实现。

     ActiveMQ概述:JMS只是消息服务的一组规范和接口,并没有具体时间,而ActiveMQ就是对JMS规范的具体实现(是Apache下的一个项目,采用Java语言开发)

ActiveMQ的消息形式:消息的传递有两种类型 (1)点对点(队列queue),一个生产者和一个消费者一一对应;(2)发布/订阅模式(topic),一个生产者生产消息并进行发送后,可以由多个消费者进行接受也就是一对多;

3、同步索引库分析

方案一:在taotao-manager中,添加商品的业务逻辑中,添加一个同步索引库的业务逻辑。

缺点:业务逻辑耦合度高,业务拆分不明确

方案二:业务逻辑在taotao-search中实现,调用服务在taotao-manager实现。业务逻辑分开。

缺点:服务之间的耦合度变高。服务的启动有先后顺序。

方案三:使用消息队列。MQ是一个消息中间件

MQ是一个消息中间件,ActiveMQ、RabbitMQ、kafka

为了实现系统之间通信,把系统之间调用的耦合度降低的情况下都可以使用MQ。

4.安装环境

1.需要jdk  2.安装Linux系统,生产环境都是Linux系统

5.安装步骤

第一步:把ActiveMQ 的压缩包上传到Linux系统。

第二步:解压缩。

第三步:启动。

使用bin目录下的activemq命令启动:[root@localhost bin]# ./activemq start

关闭:[root@localhost bin]# ./activemq stop

查看状态:[root@localhost bin]# ./activemq status

注意:如果ActiveMQ整合spring使用activemq-all-5.12.0.jar包   建议使用5.11.2

进入管理后台:http://192.168.25.168:8161/admin

用户名:admin       密码:admin

6.单独使用案例

对列queue一对一(当有两个消费者时一个生产者只能有一个消费)

生产者


消费者

topic一对多(一个生产者对应多的消费者)

生产者


消费者1


消费者2
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ActiveMQ 即时通讯服务 浅析http://www.cnblogs.com/hoojo/p/active_m...
    bboymonk阅读 1,607评论 0赞 11
  • 个人专题目录[https://www.jianshu.com/p/140e2a59db2c] 一、JMS简介 全称...
    Java及SpringBoot阅读 2,241评论 0赞 10
  • 1. 同步索引库分析 方案一:在taotao-manager中,添加商品的业务逻辑中,添加一个同步索引库的业务逻辑...
    东方舵手阅读 581评论 0赞 1
  • 老张接到一个出差的任务,这种任务实际是单位的一种福利,就是让大家利用这个机会出去游游山玩玩水,美其名曰“出差”,却...
    新雪00阅读 380评论 0赞 2
  • 这个假期学校为我们分发了一项福利:张文质的两本书。我首先拜读的是《教育是慢的艺术》。 在序言中,我首先读到的是这几...
    熊猫金鱼阅读 1,118评论 0赞 1

友情链接更多精彩内容