`

activemq

 
阅读更多

1.Activemq学习笔记1
面向消息的中间件:MOM利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行

分布式系统的集成。
一个MOM系统,通常包括客户端,message,MOM。
客户端发送或接受消息,message封装了要传递的内容,MOM可以存储和转发消息。通过MOM间接传递。
MOM好处:降低系统间通信复杂度,只需关心如何和MOM进行消息接受和发送
提高了消息的灵活性,不必阻塞等待。尤其时间无关或并行处理。
松散耦合:a系统变化不影响B系统

JMS概念
java消息服务应用程序接口,用于在分布式系统中发送消息或进行异步通信。是一个与平台无关的API,

大多MOM提供商对JMS提供支持。
包括两种消息模式:点对点和发布订阅
支持同步异步消息处理
一个JMS系统,包括以下部分:
JMS Client:客户端,用于发送或接受消息
Non-JMS client:不是使用JMS API
Message:消息,用于在不同的客户端之间交换
JMS Provider:JMS提供商,是消息系统(activeMQ),可以同时支持JMS和non-JMS
Object:被管理的对象,预支的JMS对象,为客户端使用。

JMS规范:之定义了接口,并没有实现:

2.JMS消息模型
JMS模型简介:支持两种消息通信模型:点对点和发布订阅模式
publisher--topic--subscriber 只能由一个客户端消费
:只有一个消费者,时间无关性,消费者必须确认,非持久化的消息只发一次,持久化的消息严格发一次


send--queue--receiver  订阅者订阅了主题。只能订阅以后的消息
每条消息可有多个订阅者,订阅者只能消费订阅后的topic消息
非持久化订阅:订阅者必须保证为活动状态
持久化订阅:Message Provider会保存这些消息,
是否使用持久化订阅,需要根据业务场景判断。

3。ActiveMQ安装
解压
目录结构:bin放着命领文件
conf配置文件,包括broker,jetty,log等配置文件
data放置消息缓存,jetty中jsp编译class,amq日志
doc帮助文档
example应用实例
lib依赖包

配置:配置broker端口:activemq.xml
配置jetty端口,修改jetty中的内容

启动和停止:默认使用tcp 61616

监控:内置了jetty服务器,admin工程是管理控制台

4.通过ActiveMQ收发消息
队列和主题
在MQ中,消息模型有两种,队列和主题。队列点对点。
收发消息对象的创建过程:
初始化connnectionFactory
创建connection
connection创建session
Session创建Destination(包括queue和topic)
session创建消息生产者,创建消息消费者
session创建message,messageProducer发送到Destination


接口间的关系:
JMS定义了通用接口,队列接口和主题接口。后两者继承通用接口
ActiveMQ对这些规范接口都有实现,声明通用接口就可以了。

通过队列发送和接收消息,run接收,再发送

通过Topic发布和订阅消息,先运行订阅者,后运行发布者
总结:和jdbc过程很类似,就是重复代码过多,spring-jms提供便利的解决方案。

5.使用spring JMS收发消息
maven管理依赖
对类消息收发:JMS连接工厂,定义消息对类,配置JMS模板,消息生产者,消息消费者。
主题消息收发:pubsubDomain true

6.JMS消息类型
JMS规范中消息类型包括5种,TextMessage,BytesMessage,MapMessage,StreamMessage,

ObjectMessage
AcitveMq有对应实现。

7.activemq Master slave集群配置
集群可以提高ActiveMQ的高可用性,一旦一个Broker被kill,另一个可以迅速代替。Master、slave不支

持负载均衡,仅能解决单点故障。
有三种配置方案:基于共享文件系统,基于jdbc,基于可复制的level DB

客户端访问方式:failover
updateURIsURL

id,div ,class
cms


潭州学院
自定义标签
web-infi
不需要对外访问
readme
流程

8.导入activemq源码到eclipse
git导入源码
编译,打包


9.Broker Cluster
网状集群介绍:分为static Discovery和Dynamic Discovery
网状集群特点:客户端连接broker节点失效,自动连接到其他broker
Broker可以发现集群中其它Broker节点
消息可以在多个Broker之间路由
某个broker消费者挂掉,尚未消费的消息路由到其他broker
broker支持分布式的队列和主题
涉及到failover,Discovery of broker和networks of broker

failover:被连接的broker失效,通过failover机制自动连接其他broker
Discovery of broker:知道网络中还有那些broker节点:遍历列表
动态采用多播方式,动态发现。

networks of broker
节点网络:支持分布式的队列和主题。一个节点会相同的对待所有订阅,不管来自本地或远程。

静态集群
动态集群

network connector
管道订阅
双工-duplex

总结:支持了消息路由和负载均衡
存在单点故障,某个失效,造成数据丢失。
为了保证消息可靠性和支持负载均衡,采用broker cluster加master slave模式。

10.镜像队列
监视生产者和消费者之间的消息流,使用镜像队列,把发送到某个队列中的所有消息转发到名称类似的主

题。监视程序可以监听这个主题。

http://my.oschina.net/xiaoxishan/blog/388853
分享到:
评论

相关推荐

    activeMQ收发工具.rar

    ActiveMQ是中国最流行的开源消息中间件之一,由Apache软件基金会开发。它基于Java Message Service (JMS) 规范,提供了可靠的消息传递功能,适用于分布式系统中的应用间通信。本压缩包“activeMQ收发工具.rar”包含...

    ActiveMQ高并发处理方案

    ### ActiveMQ高并发处理方案详解 #### 一、引言 在现代分布式系统中,消息队列作为异步通信的核心组件之一,对于提高系统的吞吐量、降低响应时间和实现服务解耦等方面起着至关重要的作用。Apache ActiveMQ作为一款...

    apache-activemq-5.17.3

    Apache ActiveMQ是开源的、基于Java消息服务(JMS)的应用服务器,它是Apache软件基金会的一部分。这个名为"apache-activemq-5.17.3"的压缩包包含了ActiveMQ的5.17.3版本,这是一个稳定且功能丰富的发布版本。在深入...

    apache-activemq-5.16.5

    Apache ActiveMQ是业界广泛使用的开源消息中间件,它基于Java消息服务(JMS)标准,提供了高度可扩展、可靠的异步通信能力。标题"apache-activemq-5.16.5"指的是该软件的一个特定版本,即5.16.5版本,通常每个新版本...

    Jmeter测试ActiveMQ性能报告

    本报告详细阐述了使用JMeter对ActiveMQ进行性能测试的过程和结果,旨在评估ActiveMQ在JMS(Java消息服务)环境下的性能表现。JMeter作为一个强大的负载和性能测试工具,被广泛用于测试各种应用程序,包括消息中间件...

    jmx监控activeMQ监控

    jmx监控ActiveMQ监控 jmx(Java Management Extensions)是一种Java技术,为Java应用程序提供了管理和监控的功能。ActiveMQ是Apache软件基金会下的一个开源消息队列系统,提供了高效、可靠的消息传递服务。在生产...

    Linux下activeMQ的启动和停止.docx

    在Linux环境下,Apache ActiveMQ是一个广泛使用的开源消息代理和队列服务器,它是Java Message Service (JMS) 的实现,能够处理大量的并发消息传递。ActiveMQ提供了高可用性、可扩展性和稳定性,使得它成为分布式...

    apache-activemq-5.15.9.rar

    Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它基于Java Message Service (JMS) 规范,提供高效、可靠的消息传递服务。在本文中,我们将深入探讨Apache ActiveMQ,特别是针对“apache-activemq-...

    ActiveMQ路由配置方式

    ActiveMQ路由配置方式 ActiveMQ路由配置是Apache ActiveMQ项目中的一种重要配置方式,它依赖另一个Apache项目Camel。ActiveMQ集成了Camel,启动时同时会启动Camel。通过Camel Web Console可以进行Routing配置。 ...

    apache-activemq-5.9.0 下载

    Apache ActiveMQ是开源社区中最流行的消息中间件之一,它基于Java消息服务(JMS)标准,提供高效、可靠的异步通信解决方案。ActiveMQ在企业级应用中广泛应用,因为它支持多种协议,如OpenWire、STOMP、AMQP、MQTT、...

    ActiveMQ接受和发送工具.rar

    ActiveMQ是中国最流行的开源消息中间件之一,基于Java Message Service(JMS)规范,它提供了一个高可伸缩、高性能、稳定且灵活的消息传递平台。这个"ActiveMQ接受和发送工具.rar"压缩包包含了用于与ActiveMQ交互的...

    ActiveMQ消息服务器 v6.0.1.zip

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递标准(JMS,Java Message Service),用于在分布式系统中实现可靠的消息传递。在本文中,我们将深入探讨ActiveMQ v6.0.1的核心特性、应用...

    7道消息队列ActiveMQ面试题!

    ActiveMQ是一款非常流行的开源消息队列中间件,它实现了JMS(Java Message Service,Java消息服务)1.1规范,面向消息的中间件(Message Oriented Middleware,MOM)是指利用高效可靠的消息传递机制进行与平台无关的...

    Spring集成ActiveMQ配置

    Spring集成ActiveMQ是将Spring框架与ActiveMQ消息中间件相结合,实现异步处理和解耦应用程序的关键技术。在本文中,我们将深入探讨如何配置和使用这一组合,以及它在实际项目中的应用。 首先,让我们了解Spring框架...

    activemq自启动并设置用户名密码

    #### 一、ActiveMQ简介 ActiveMQ是一款非常流行的开源消息中间件,它基于Java语言开发,并且遵循了Java消息服务(JMS)规范。ActiveMQ提供了丰富的特性,包括持久化消息存储、事务支持、集群等功能。在企业级应用中,...

    ActiveMQ in Action pdf英文版+源代码

    ActiveMQ in Action pdf英文原版加源代码压缩包。 Apache ActiveMQ in Action is a thorough, practical guide to implementing message-oriented systems in Java using ActiveMQ. The book lays out the core of ...

    apache-activemq Linux版本

    Apache ActiveMQ是业界广泛使用的开源消息中间件,尤其在Linux环境下表现出色。它基于Java语言开发,遵循Apache软件基金会的许可证,并且实现了多种消息传递协议,包括OpenWire、STOMP、AMQP和XMPP等。在Linux系统上...

    最新稳定版ActiveMQ5.15.0

    Apache ActiveMQ是开源社区中最流行的Java消息代理,也是企业级消息中间件(Message Broker)的首选之一。在最新的稳定版5.15.0中,它提供了可靠的消息传递功能,适用于分布式应用程序之间的通信,实现了异步处理、...

    自己实现的ActiveMQ连接池和新版本ActiveMQ自带的连接池,封装好的工具类,可直接使用

    本资源提供的内容是关于ActiveMQ的连接池实现,分为两部分:一是作者自己实现的ActiveMQ连接池,二是新版本ActiveMQ自带的连接池。连接池是一种资源管理技术,通过复用已建立的数据库连接或网络连接,减少创建和销毁...

    springboot集成activemq实现消息接收demo

    而ActiveMQ是Apache出品的一款开源消息中间件,它遵循JMS(Java Message Service)规范,用于处理应用程序之间的异步通信。本教程将详细介绍如何在Spring Boot项目中集成ActiveMQ,实现消息接收的Demo。 首先,我们...

Global site tag (gtag.js) - Google Analytics