
mq
架构魔方
这个作者很懒,什么都没留下…
展开
-
activemq事务与ack消息确认
事务型消息发送端(生产端)此处其它代码与普通式消息发送代码相似,只在以下几处有不同,首先在取得session时会声明事务开启“true”。session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE); 然后在发送时会有一个动作:producer.send(message); System.out.print转载 2017-07-01 15:25:03 · 3124 阅读 · 0 评论 -
ActiveMQ的集群
内嵌代理所引发的问题:消息过载管理混乱如何解决这些问题——集群的两种方式:Master slave Broker clustersActiveMQ的集群有两种方式:MASTER/SLAVE模式Cluster模式 Pure Master Slave Pure master转载 2017-07-15 16:51:49 · 359 阅读 · 0 评论 -
ActiveMQ使用笔记(七)ActiveMQ性能优化
1、目标策略在节点destinationPolicy配置策略,可以对单个或者所有的主题和队列进行设置,使用流量监控,当消息达到memoryLimit的时候,ActiveMQ会减慢消息的产生甚至阻塞,destinationPolicy的配置如下:Java1234567891转载 2017-07-15 16:35:05 · 1226 阅读 · 0 评论 -
ActiveMQ消息特性:通知消息(Advisory Message)
通知消息(Advisory Message)简单的说就是实现了ActiveMQ的broker上各种操作的记录跟踪和通知。使用这个功能,你可以实时的知道broker上创建或销毁了连接,添加或删除了生存者或消费者,添加或删除了主题或队列,有消息发送和接收,什么时候有慢消费者,什么时候有快生产者什么时候什么消息被丢弃什么时候broker被添加到集群(主从或是网络连接)转载 2017-07-15 16:04:49 · 835 阅读 · 0 评论 -
activeMQ主要的几类集群部署方式
官方主从实现的文档:http://activemq.apache.org/masterslave.html 一、activeMQ主要的几类部署方式比较1、默认的单机部署(kahadb)activeMQ的默认存储的单机方式,以本地kahadb文件的方式存储,所以性能指标完全依赖本地磁盘IO,不能提供高可用。 2、基于zookeeper的主从(levelDB Master/Sl转载 2017-06-26 12:35:13 · 928 阅读 · 0 评论 -
activemq 设置控制台密码
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到 将property name为authenticate的属性value="false" 改为"true",控制台的登录用户名密码保存在conf/jetty-realm.properties文转载 2017-06-25 22:17:45 · 2467 阅读 · 0 评论 -
activemq 添加生产者消费者连接密码
1.修改activemq.xml配置,需要新增一个插件,在节点里面节点前面添加如下plugins> simpleAuthenticationPlugin> users> authenticationUser username="zhangsan" password="1转载 2017-06-25 22:06:14 · 2165 阅读 · 0 评论 -
activemq 消息选择器Selector
一、序言 消息大多数情况都是发送到broker 的,在知道Destination 的情况下,都可以消费,因此有些情况下需要我们将消息分组、隔离,或则指定A消息,只能有A消费者消费等等情况,这里做个大概的介绍和实例。 二、实例场景 我们通过有时候我们需要一个queue/topic 通道,然后发送消息,但是我们要对不同消费者接受的消息进行限制,或转载 2017-06-25 21:39:26 · 461 阅读 · 0 评论 -
activemq group分组
Message Group是针对queue。如果在queue模式下,一个生产者对应多个消费者,每生产一条消息,会被消费随即抢到,如果我们不希望这样,只希望固定的消息被固定的消费者消费,那么就采用group对消息进行一个类似标记的作用。分组要依赖消息选择器,selector另外一方面,Message Groups特性也是一种负载均衡的机制。在一个消息被分发到consumer之前,brok原创 2017-06-25 21:35:53 · 4334 阅读 · 1 评论 -
spring+activemq 关闭持久化
在标签中配置 然后重新部署tomcat欢迎加入我们的技术交流群425783133原创 2017-07-07 10:16:24 · 1598 阅读 · 0 评论 -
ActiveMQ中的NetworkConnector(网络连接器)详解
注:本文以ActiveMQ5.10版本为基础。 我们知道,ActiveMQ中的TransportConnector(传输连接器)主要用于配置ActiveMQ服务端和客户端之间的通信方式,NetworkConnector(网络连接器)则主要用来配置ActiveMQ服务端与服务端之间的通信。在某些场景,网络拓扑中我们可能会需要大量的生产者和消费者,也就是说我们会有大量的Active转载 2017-07-16 14:07:15 · 1014 阅读 · 0 评论 -
ActiveMQ之TemporaryQueue和TemporaryTopic
TemporaryQueue和TemporaryTopic,从字面上就可以看出它们是“临时”的目的地。可以通过Session来创建,例如:TemporaryQueue replyQueue = session.createTemporaryQueue();虽然它们是由Session来创建的,但是它们的生命周期确实整个Connection。如果在一个Connection上创建了两个Ses转载 2017-07-09 21:06:27 · 478 阅读 · 0 评论 -
activemq的三种基本通信方式总结 点对点 发布订阅 请求应答
简介 在前面一篇文章里讨论过几种应用系统集成的方式,发现实际上面向消息队列的集成方案算是一个总体比较合理的选择。这里,我们先针对具体的一个消息队列Activemq的基本通信方式进行探讨。activemq是JMS消息通信规范的一个实现。总的来说,消息规范里面定义最常见的几种消息通信模式主要有发布-订阅、点对点这两种。另外,通过结合这些模式的具体应用,我们在处理某些应用场景的时候也衍生转载 2017-07-09 21:05:50 · 2267 阅读 · 0 评论 -
ActiveMQ“连接池”使用
1. ActiveMQ的连接池ActiveMQ提供了PoolConnectionFactory、PoolConnection等实现连接池功能,连接池是供对connection、session、producer的“池”,PoolConnectionFactory的类注释说明的原因: 类注释代码 NOTE: while this implementatio转载 2017-07-09 15:39:15 · 5049 阅读 · 0 评论 -
activemq的多个broker之间的消息共享
假设activemq有两个broker服务,A和B。在A的activemq.xml的broker标签下添加如下配置: 该配置可以让消息从A到B,或者从B到A。但只能流动一次。也就是不能从A到B再回到A。如果duplex="false"则只能从A到B。那么如何能让消息来回流转,使A和B自由共享消息呢?在active转载 2017-07-17 16:49:26 · 1191 阅读 · 0 评论 -
ActiveMQ集群下的消息回流功能
"丢失"的消息 如果有broker1和broker2通过networkConnector连接,有一个consumer1连接到broker1,一个consumer2连接到broker2,程序往broker1上面发送30条消息,这时consumer2连接到broker2消费消息,当consumer2消费了15条消息时,broker2挂掉了。 但是还剩下15条消息在broker2上面,这些消息转载 2017-07-16 14:36:57 · 1198 阅读 · 0 评论 -
ActiveMQ分布式网络(Forward Bridge)
当ActiveMQ面对大量消息存储和大量Client交互时,性能消耗将会达到单个broker极限,此时我们需要对ActiveMQ进行水平扩展。ActiveMQ提供了“network”机制,可以把多个broker实例“串联”一起,形成“Forward Bridge”模型(转发桥)。这些Broker通过有向网络(networkerConnector)链接在一起,组成broker集群,任何一个Borke转载 2017-07-16 14:10:24 · 476 阅读 · 0 评论 -
配置ActiveMQ的Transport Connectors
一、概念 从broker的角度来看,transport connector是用于接受和监听来自客户端的连接请求的一种机制。比如在”conf/activemq.xml“这个配置文件中可以找到: [html] view plain copy transportConnectors> transpor转载 2017-07-16 14:09:33 · 1746 阅读 · 0 评论 -
ActiveMQ集群:网络连接模式(network connector)详解
网络连接模式(network connector)针对海量消息所要求的横向扩展性和系统的高可用性,ActiveMQ提供了网络连接模式的集群功能。简单的说,就是通过把多个不同的broker实例连接在一起,作为一个整体对外提供服务,从而提高整体对外的消息服务能力。通过这种方式连接在一起的broker实例之间,可以共享队列和消费者列表,从而达到分布式队列的目的。拓扑结构几种不同的Active转载 2017-07-16 14:08:10 · 855 阅读 · 0 评论 -
ActiveMQ消息特性:通知消息(Advisory Message)
通知消息(Advisory Message)简单的说就是实现了ActiveMQ的broker上各种操作的记录跟踪和通知。使用这个功能,你可以实时的知道broker上创建或销毁了连接,添加或删除了生存者或消费者,添加或删除了主题或队列,有消息发送和接收,什么时候有慢消费者,什么时候有快生产者什么时候什么消息被丢弃什么时候broker被添加到集群(主从或是网络连转载 2017-06-25 18:28:37 · 4161 阅读 · 0 评论 -
优化ActiveMQ性能
1. 优化ActiveMQ性能1.1. 一般技术1.1.1. Persistent vs Non-Persistent Message持久化和非持久化传递1.PERSISTENT(持久性消息)这是 ActiveMQ 的默认传送模式,此模式保证这些消息只被传送一次和成功使用一次。对于这些消息,可靠性是优先考虑的因素。可靠性的另一个重要方面是确保持久性消息传送至目标后转载 2017-06-25 16:33:08 · 701 阅读 · 0 评论 -
Activemq优点和缺点
activemq有自己的特点和优势:(1)activemq可以很好的运行在任何JVM上,而不只是集成到JBoss的应用服务器中;(2)activemq支持大量的跨语言客户端;(3)activemq支持许多不同的协议,如Ajax,REST,Stomp,OpenWire,XMPP(4)activemq支持许多高级功能,例如MessageGroups,ExclusiveC转载 2017-06-25 13:51:29 · 4054 阅读 · 0 评论 -
activemq延迟发送 消费者会实时得到消息
目前的情况是生产端告诉TCP端想要延迟发送TextMessage message = session.createTextMessage(newsJson);long delayTime = 1 * 60* 1000;message.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, delayTime);// 发送消息到目的转载 2017-06-24 21:09:50 · 1898 阅读 · 0 评论 -
ActiveMQ消息策略
ActiveMQ中提供了众多的“策略”(policy),它们可以在broker端为每个通道“定制”消息的管理方式。本文将简单描述主要的几种Policy。 一. DispatchPolcicy: 转发策略(Topic) 此策略表明broker端消息转发给多个Consumer时,消息被发送的顺序性,这个顺序通常指Consumer的顺序,只对Topic有效,它有3种常用的类转载 2017-07-02 21:19:57 · 754 阅读 · 0 评论 -
ActiveMQ中Consumer特性详解与优化
前言 从本文中你可以了解到如下内容: 1) consumer端消息消费的模型,session的运作机制 2) 如果提升broker和consumer端消息消费的速率 3) selector,group,exclusive对消息消费的影响 4) 如何让Priority更好的运行,提高消息的顺序性 5) Slow Co转载 2017-07-02 21:19:19 · 875 阅读 · 0 评论 -
ACTIVEMQ设置Timestamp和jms简介
在默认情况下,向activemq的broker中发送消息时,messageid是系统自己生成的,通常和自己所使用计算机名相关。Timestamp是计算机的系统时间。更改Timestamp:TextMessage messageForSend = null; //发送的消息String messageinfo = (String)messageconnect.receive转载 2017-07-02 21:12:51 · 634 阅读 · 0 评论 -
ActiveMQ消息传送机制以及ACK机制详解
AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机制 Producer客户端使用来发送消息的, Consumer客户端用来消费消息;它们的协同中心就是ActiveMQ broker,broker也是让produc转载 2017-07-02 11:40:11 · 564 阅读 · 0 评论 -
ActiveMQ中Producer特性详解
前言 从本文中你可以得到如下几个问题的解答: 1) 设定消息的时间戳有什么作用 2) 消息的timeToLive与过期原理 3) Producer同步、异步发送消息,以及调优 4) 消息priority与顺序,以及其中的误解。 Producer作为ActiveMQ的消息发送端,是开发工程师经常需要面对的,转载 2017-07-01 23:43:35 · 681 阅读 · 0 评论 -
activemq 信息优先级
我们可以在发送消息时,指定消息的权重,broker可以建议权重较高的消息将会优先发送给Consumer。在某些场景下,我们通常希望权重较高的消息优先传送;不过因为各种原因,priority并不能决定消息传送的严格顺序(order)。 JMS标准中约定priority可以为0~9的数值,值越大表示权重越高,默认值为4。不过activeMQ中各个存储器对priority的支持并转载 2017-07-01 19:59:41 · 4357 阅读 · 0 评论 -
MQ的工作原理
如图所示首先来看本地通讯的情况,应用程序A和应用程序B运行于同一系统A,它们之间可以借助消息队列技术进行彼此的通讯:应用程序A向队列1发送一条信息,而当应用程序B需要时就可以得到该信息。其次是远程通讯的情况,如果信息传输的目标改为在系统B上的应用程序C,这种变化不会对应用程序A产生影响,应用程序A向队列2发送一条信息,系统A的MQ发现Q2所指向的目的队列实际上位于系统B,它将信息放到本转载 2017-06-25 13:57:59 · 3492 阅读 · 0 评论 -
ActiveMQ的queue以及topic两种消息处理机制分析
上一期介绍了我们项目要用到activeMQ来作为jms总线,并且给大家介绍了activeMQ的集群和高可用部署方案,本期给大家再介绍下,如何根据自己的项目需求,更好地使用activeMQ的两种消息处理模式。 1 queue与topic的技术特点对比 TopicQueue概要Publish Subscrib转载 2017-06-25 14:22:54 · 1888 阅读 · 0 评论 -
ActiveMQ高并发处理方案
高并发发送消息异常解决方法:现象:使用10个线程每100ms发送一条消息,大约3000多条后,出现异常,所有线程停 止: javax.jms.JMSException:Could not connect to brokerURL: tcp://localhost:61616.Reason:java.net.BindException: Address转载 2017-06-25 16:21:44 · 22290 阅读 · 1 评论 -
activeMQ消息存储机制
在越来越多的网友对activeMQ的存储机制发生了兴趣,为了更好的对activeMQ的存储机制从实现原理进行分析,以知道怎么可以更好的进行优化。我们觉得有必要把我们在分析源码时的一些心得,分享给大家,首先activeMQ的消息存储目录相对简单: 在*\data目录下包括3个目录:journal、kr-store、临时目录(机器名称为目录名) Journal 存放的是原始的消息内容,转载 2017-06-25 15:38:25 · 1592 阅读 · 0 评论 -
ActiveMQ性能测试
工作之余,公司想对ActiveMQ进行一番性能测试,测试环境: 硬盘:1T,5400 (效果不佳) 得出了一个异样的测试结果: 持久: 插入200000条JSON,共消耗:25.175 s平均:7944.389275074478 条/秒 插入200000条JSON,共消耗:34.47 s平均转载 2017-06-25 15:16:51 · 5260 阅读 · 1 评论 -
activeMQ-传输协议
ActiveMQ支持的client-broker:Transmission Control Protocol (TCP)这是默认的Broker配置,TCP的Client监听端口是61616。在网络传输数据前,必须要序列化数据,消息是通过一个叫wire protocol的来序列化成字节流。目的是促使网络上的效率和数据快速交互。TCP连接的URI形式:tcp://h转载 2017-06-25 15:15:48 · 394 阅读 · 0 评论 -
ActiveMQ 连接池
PooledConnectionFactory有两个属性maxConnections,maximumActive。咋一看来,用人类的常识理解,maxConnection应该表示最大可建的connection数,maximumActive应该表示最大活跃的connection数,当pool中的连接数大于最大活跃数时,又超过idleTimeout会被回收线程回收到。如果是这样理解的,就大错特错了。转载 2017-06-25 15:11:14 · 2049 阅读 · 0 评论 -
activemq连接方式
http://blog.sina.com.cn/s/blog_5f53615f0100py5x.html转载 2017-06-25 15:01:03 · 880 阅读 · 0 评论 -
ActiveMQ持久化方式
消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是同时在线或者消息中心在发送者发送消息后宕机了,在消息中心重新启动后仍然可以将消息发送出去,如果把这种持久化和ReliableMessaging结合起来应该是很好的保证了消息的可靠传送。消息持久性的原理很简单,就是在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件、内存数据库或者远程数据库转载 2017-06-25 14:39:40 · 400 阅读 · 0 评论 -
ActiveMQ持久化消息的三种方式
1:前言 这一段给公司开发消息总线有机会研究ActiveMQ,今天撰文给大家介绍一下他的持久化消息。本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。A:持久化为文件 这个你装ActiveMQ时默认就是这种,只要你设置消息为持久化就可以了。涉及到的配置和代码有 persistenceAdapter>转载 2017-06-25 14:28:39 · 660 阅读 · 0 评论 -
ActiveMQ请求和应答模式
一、代码实现 要实现ActiveMQ的请求和应答模式,需要3部分组成:ActiveMQ消息总线、Client端(消息的发送者)、Server端(消息的接收者)1、ActiveMQ消息总线 变量: activemqBusAddress:消息总线部署的IP地址 activemqUsername:转载 2017-07-09 21:06:57 · 1340 阅读 · 1 评论