JMS与ActiveMQ介绍

一、JMS

1.1、简介

JMS即Java 消息服务(Java Message Service),是 Java 的一套 API 标准,最初的目的是为了使应用程序能够访问现有的 MOM 系统。
MOM(是 Message Oriented Middleware)是利用高效可靠的消息传递机制 进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。基于JMS实现的MOM也称为 JMSProvider。
常见 MOM 系统:ActiveMQ(Apache)、RocketMQ(阿里)、 MQSeries(IBM)、MSMQ(Microsoft)、RabbitMQ(BEA)

1.2、消息概念

是在两台计算机间传送的数据单位。消息可简单可复杂,可以支持文本字符串和嵌入对象。

1.3、消息队列概念

在消息的传输过程中保存消息的容器。
队列的主要目的是提供路由并保证消息的传递,如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。

1.4、消息队列特点

特点是异步处理和解耦
异步处理:将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。
解耦:由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系, 也不需要受对方的影响

二、ActiveMQ

2.1、简介

1)多种语言和协议编写客户端
语言: Java,C,C++,C#,Ruby,Perl,Python,PHP
应用协议:OpenWire,Stomp REST,WS Notification,XMPP,AMQP
2)对 Spring 的支持
ActiveMQ 可以很容易内嵌到使用 Spring 的系统里面
3)支持多种传送协议
in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA;支持通过 JDBC 和 journal 提供高速的消息持久化;
4)从设计上保证了高性能的集群
客户端-服务器、点对点、支持 Ajax、支持与 Axis 的整合、

2.2、主要概念

2.2.1、Destination

目的地,JMS Provider(消息中间件)负责维护,用于对 Message 进行管理的对象。 MessageProducer需要指定Destination才能发送消息,MessageConsumer需要指定Destination才能接收消息。

2.2.2、Producer

消 息生成 者 ( 客户端、生成消息 ) ,负责发送 Message到目的地 。应用接口为MessageProducer。在 JMS规范中,所有的标准定义都在 javax.jms 包中。

2.2.3、Consumer

消息消费者(处理消息),也称Receiver,负责从目的地中消费【处理|监听|订阅】Message。应用接口为MessageConsumer

2.2.4、Message

消息(Message),消息封装一次通信的内容。常见类型有:StreamMessage、BytesMessage、 TextMessage、ObjectMessage、MapMessage。

2.2.5、ConnectionFactory

链接工厂, 用于创建链接的工厂类型。

2.2.6、Connection

链接, 用于建立访问 ActiveMQ 连接的类型, 由链接工厂创建。

2.2.7、Session

会话,一次持久有效有状态的访问,由链接创建,是具体操作消息的基础支撑。

2.2.8、Queue & Topic

Queue 是队列目的地,Topic 是主题目的地。都是 Destination 的子接口。
Queue 特点:队列中的消息,默认只能由唯一的一个消费者处理。一旦处理消息删除。
Topic 特点:主题中的消息,会发送给所有的消费者同时处理。只有在消息可以重复处 理的业务场景中可使用。

2.2.9、PTP

Point to Point。点对点消息模型。就是基于 Queue 实现的消息处理方式。

2.2.10、PUB & SUB

Publish & Subscribe 。消息的发布/订阅模型。是基于 Topic 实现的消息处理方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值