ActiveMQ介绍以及应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33652147/article/details/84866477

  ActiveMQ是完全基于JMS规范实现的一个消息中间件,主要应用于分布式系统架构中,

帮助构建高可用,高性能,可伸缩的企业级面向消息服务的系统。

一、ActiveMQ支持的语句

Java,C,C++,C#,Ruby,Perl,Python,PHP

二、ActiveMQ传递的五种消息类型

TextMessage、MapMessage、ObjectMessage、BytesMessage、和StreamMessagg五种消息类型)

三、ActiveMQ两种消息传递方式

1.点对点的消息传递域

(1) 每个消息只能有一个消费者

(2)消息的生产者和消费者之间在时间上没有相关性。无论生产者发送消息的时候是否

处于运行状态,都可以提取消息

2发布和订阅消息传递域

(1)每个消息都可以有多个消费者

(2)生产者和消费者之间有相关性。订阅一个主题的消费者只能消费

它订阅之后发布的消息。

3消息的结构组成

JMS消息组成部分:消息头,消息体,属性

属性包含识别信息和路由信息

JMSDestination  消息发送的目的滴(queue或者topic)

JMSDeliveryMode   传送模式(持久化模式或者非持久化模式)

JMSPriority    消息优先级 基本从低到高是0-9,默认基本是4,JMS provider 

 并不一定按照优先级别提交消息

JMSMessageID  唯一识别每个消息的标志

消息体:我们需要传递的内容

四、消息的同步发送和异步发送

五、持久化机制

1.kahadb 默认的实现机制

 在传递activeMQ的data文件夹中会生成db-1.log ,db.data,de.redo

db-1.log为数据文件,db.data为索引,db.redo用于数据恢复

2jdbc 存储

自动生成activemq_acks,activemq_lock, active_msgs 三张表

activemq_acks 存储持久化订阅信息

activemq_lock 锁表

activemq_msgs 消息内容

3.Memory 内存

4.Leve DB

可以实现leveDB+zookeeper主从复制 

5、JDBC with ActiveMQ journal 

JDBC的改进版本

猜你喜欢

转载自blog.csdn.net/qq_33652147/article/details/84866477