一分钟教你快速了解ActiveMQ?

快速了解本文:

目录

JMS是什么?

ActiveMQ是什么?

ActiveMQ主要应用场景有哪些?

在企业开发中不使用ActiveMQ会怎么样?

ActiveMQ采用什么模型?

ActiveMQ支持哪两种消息传输方式?

使用消息队列的好处


  • JMS是什么?

Java Message Service,一套处理消息的规范

Message:消息,通俗来讲,是指要做的事情

  • ActiveMQ是什么?

  1. 是一种JMS Provider,其他开源JMS供应商还有RabbitMQ、RocketMQ

  2. ActiveMQ是一种消息队列技术

Active是活跃的意思,MQ是Message Queue,即消息队列,说通俗点,这个技术能同时处理很多个消息,能同时干很多 事

  • ActiveMQ主要应用场景有哪些?

  1. 大型电商网站,如淘宝、京东,同时有几亿用户在下单

  2. 12306,同时几亿人在购买火车票

  3. 其他在同一时间会有很多请求的场景

这些场景有一个共同的特点:高并发

并发是同时发生的意思,高并发就是高度密集的同时发生,通俗点,就是同时有大量的请求发往服务器,ActiveMQ就是为解决高并发问题而生!

  • 在企业开发中不使用ActiveMQ会怎么样?

  1. 即便不使用ActiveMQ,也会使用类似的技术,比如RabbitMQ、RocketMQ
  2. 主流程卡顿,甚至服务器宕机,用户体验很差,甚至用不了
  3. 系统耦合性太强,不利于系统迁移和维护
  • ActiveMQ采用什么模型?

生产者消费者模型(生产者和消费者可以跨平台、跨系统)

  • ActiveMQ支持哪两种消息传输方式?

1、Queue,队列模式,生产者生产了一个消息,只能由一个消费者进行消费

2、Topic,发布/订阅模式,生产者生产了一个消息,可以由多个消费者进行消费

 

  • 使用消息队列的好处

消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有这深入的应用,队列的主要作用是消除高并发访问高峰,加快网站的响应速度。

在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧。

在使用队列后,用户的请求发给队列后立即返回(当然不能直接给用户提示订单提交成功,京东上提示:您“您提交了订单,请等待系统确认”),再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。由于消息队列的服务处理速度远快于数据库,因此用户的响应延迟可得到有效改善。

1、系统整合:同构/异构系统整合,分布式环境中

2、降低模块间耦合:比如AB两个系统,A性能瓶颈或宕机、

系统差不干扰B

3、实现异步:1.推消息 2.削峰请求

4、数据同步:web应用->缓存,搜索,db

 

 

 

猜你喜欢

转载自blog.csdn.net/It_You_Know/article/details/81560465