ActiveMQ

首先学习Active需要知道什么是ActiveMq?

         ActiveMQ是apache下的一个消息中间件

然后要知道ActiveMq是干什么用的

  在不同的系统中进行异步调用(tomcat1中的程序调用tomcat2中的程序)  在这里做个区分与ajax异步没关系 ajax异步是不刷新页面的基础上进行局部刷新】}

 

同步:同步就是调用就执行(实时性好)

异步:异步调用后不知道什么时候才能执行(实时性不好)

举个简单使用场景的例子:

                  比如一所大学两万多人,1000名教师,所有同学同时给所有老师打分(如果在同一秒内提交数据库就写不进去服务器就炸了),数据库写的效率200-300MB/s  对于这样的打分结果不一定当时就看 过些时间看也可以。  把打分的结果给ActiveMq 然后一条一条保存(写到硬盘)。

 

ActiveMq 与RabbitMQ比较:

         ActiveMq比较成熟 稳定不容易丢数据

         RabbitMq 比较成熟 但是不是很稳定会丢数据,速度比较快 看使用场景选型。比如京东淘宝的订单。

了解:在支付的行业里面也会用RabbitMq虽然存在丢单的情况 。但是因为在同一个事物中所以丢失会回滚从新支付。但速度上会更快。电商上追求的还是速度。

RocketMq 阿里开发的新的  16年给了apach

消息中间件实现的jdk底层的一个接口 jdk底层   JMS即(java消息服务 java Messge Service)应用程序接口. 用于在两个应用程序之间,或者分布式系统中发送消息,进行异步通信。

Dobbo是实时性的。

具体怎么用呢!!!

要想会用先了解消息中间件的两种模式:

  1、点对点(相当于qq中的私聊模式一对一)。

  2、发布订阅模式(相当于群聊一个人发送多个人接收)

发布订阅模式:一个消息发送方(MessageProduce),多个消息接收方(MessageConsumer)。

  

 

系统:

  1、调用订单模块,生成订单

  2、调用财务模块,通知财务结算

  3、调用商家通知模块,通知商家发货。

  4、调用物流模块,进行准备发货。【 都在同一个事务中如果一个模块出现问题bug 则系统回滚,把购买的钱还给客户】。

 

具体 怎么用
1. 配置消息发送方的xml文件
2. 配置消息消费方的xml文件
3. 搭建消息服务器
4. 在消息消费方编写监听器, 监听所需要接收的数据, 进行处理

 

posted @ 2018-04-10 15:20  夜纸鸢  阅读(138)  评论(0编辑  收藏  举报