ActiveMQ消息队列原理场景分析:
应用场景和原理讲解:https://blog.csdn.net/qinweili751/article/details/80620104
业务场景说明:
队列的主要作用是消除高并发访问高峰,加快网站的响应速度。
在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧。
在使用队列后,用户的请求发给队列后立即返回,
(例如: 当然不能直接给用户提示订单提交成功,京东上提示:您“您提交了订单,请等待系统确认”),
再由消息队列的消费者进程从消息队列中获取数据,异步写入数据库。
由于消息队列的服务处理速度远快于数据库,因此用户的响应延迟可得到有效改善。
ActiveMQ 应用场景分析
1)用户注册,重点用户信息数据库保存,发短信、发邮件,增加业务处理复杂度,这时候用MQ,将发短信、发邮箱,通知MQ,由另外服务平台完成
2)搜索平台、缓存平台 日志
查询数据,建立缓存、索引,不从数据库查询,从缓存或者索引库查询
当增加、修改,删除数据时,发送消息给MQ,缓存平台、索引平台从MQ获取到这个消息,更新缓存或者索引
ActiveMQ消息队列安装使用
- 官网:http://activemq.apache.org/ JMS(java message service)
- 安装成功访问地址:http://localhost:8161用户名和密码都是admin (解压后在bin目录下启动activemq.bat就可以了 启动之后,可以访问localhost:8161/admin,帐号密码可以在conf文件夹下的users.properties可以查看或是修改密码 接下来还是以分工程的形式来写 )。
- ActiveMQ使用的是标准生产者和消费者模型,有两种数据结构Queue、Topic
1)Queue队列,生产者生产了一个消息,只能由一个消费者进行消费
2)Topic话题,生产者生产了一个消息,可以由多个消费者进行消费
bug:如果ActiveMQ安装后启不来,提示jdk版本问题可将path中的java_home提到最上面