
ActiveMQ
文章平均质量分 72
你温柔的背后是心情的曲折
技术达人
展开
-
ActiveMQ系列—ActiveMQ集群方案(上)(高性能方案)
序:多节点方案集群方案主要为了解决系统架构中的两个关键问题:高可用和高性能。ActiveMQ服务的高可用性是指,在ActiveMQ服务性能不变、数据不丢失的前提下,确保当系统灾难出现时ActiveMQ能够持续提供消息服务,高可靠性方案最终目的是减少整个ActiveMQ停止服务的时间。ActiveMQ服务的高性能是指,在保证ActiveMQ服务持续稳定性、数据不丢失的前提下,确保ActiveMQ集群能转载 2017-09-22 19:22:25 · 1846 阅读 · 0 评论 -
ActiveMQ系列—ActiveMQ性能优化(下2)(消息存储方案 LevelDB)
10、KahaDB存储方案 LevelDb是能够处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库,由Google发起并开源。LevelDB只能由本操作系统的其他进程调用,所以它不具有网络性。如果您需要网络上的远程进程操作LevelDB,那么就要自行封装服务层。10.1、LevelDB基本结构LevelDB中的核心设计算法是跳跃表(Skip List),核心操作策略是对磁盘上的转载 2017-09-21 18:56:49 · 4214 阅读 · 0 评论 -
ActiveMQ系列—ActiveMQ性能优化(下1)(消息存储方案 KahaDB)
序1:存储方案配置在介绍ActiveMQ的存储方案之前,首先需要明确的是ActiveMQ中的几种“容量”描述:ActiveMQ的内核是Java编写的,也就是说如果服务端没有Java运行环境ActiveMQ是无法运行的。ActiveMQ启动时,启动脚本使用wrapper包装器来启动JVM。JVM相关的配置信息在启动目录的“wrapper.conf”配置文件中。各位读者可以通过改变其中的配置项,设置JV转载 2017-09-20 21:59:51 · 8308 阅读 · 0 评论 -
ActiveMQ系列—ActiveMQ性能优化(中3)(消费者和生产者性能总结)
8、消费者和生产者性能总结本小节我们介绍了基于ActiveMQ构建的消息队列系统中,生产者和消费者需要关注的重要性能点。但是整个ActiveMQ中的性能还需要各位读者在实际工作中,一点一点的去挖掘。这里我们根据已经介绍过的性能关注点进行总结:发送NON_PERSISTENT Message和发送PERSISTENT Message是有性能差异的。引起这种差异的原因是前者不需要进行持久化存储;但是这转载 2017-09-20 20:46:40 · 2353 阅读 · 0 评论 -
ActiveMQ系列—ActiveMQ性能优化(中2)(处理规则和优化)
4、消费者策略:Dispatch Async讨论完了消息生产者的关键性能点,我们再将目光转向消息消费者(接收者端);就像本小节开始时描述的那样,比起消息生产者来说消息消费者的性能更能影响ActiveMQ系统的整体性能,因为要成功完成一条消息的处理,它的工作要远远多于消息生产者。首先,在默认情况下ActiveMQ服务端采用异步方式向客户端推送消息。也就是说ActiveMQ服务端在向某个消费者会话推送消转载 2017-09-20 18:53:43 · 5301 阅读 · 1 评论 -
ActiveMQ系列—ActiveMQ性能优化(上)(网络配置优化)
序:性能优化思路前面几篇文章中,主要介绍消息中间件ActiveMQ的安装和基本使用。从给出的安装配置和示例代码来看,我们既没有修改ActivieMQ服务节点的任何配置,也没有采用任何的集群方案。这种情况只适合各位读者熟悉ActiveMQ的工作原理和基本操作,但是如果要将ActivieMQ应用在生产环境下,上文中介绍的运行方式远远没有挖掘出它的潜在性能。系统的性能层次包括:代码级性能、规则性能、存储性转载 2017-09-20 08:32:55 · 8399 阅读 · 0 评论 -
ActiveMQ系列—ActiveMQ性能优化(中1)(处理规则和优化)
序:处理规则概述在ActiveMQ单个服务节点的优化中,除了对ActiveMQ单个服务节点的网络IO模型进行优化外,生产者发送消息的策略和消费者处理消息的策略也关乎整个消息队列系统是否能够高效工作。请看下图所示的消息生产者和消息消费者的简要工作原理图:Producer既是消息生产者,作为一个发送消息的客户端它既可以使用同步消息发送模式,也可以使用异步的消息发送模式。另外,消息生产者在ActiveM转载 2017-09-20 18:00:39 · 5600 阅读 · 0 评论 -
ActiveMQ系列—JMS规范中的几个基本概念
由于ActiveMQ是JMS规范的完整实现,所以为了讲清楚ActiveMQ是如何进行存储和调度的,就需要首先说明JMS中和存储、调度有关的几个概念。它们是:消息收发模式(订阅-发布和负载均衡模式)、消息存储模式(持久化消息和非持久化消息)和订阅模型(持续订阅和非持续订阅)。1、订阅发布模式和负载均衡模式发布模式和负载均衡模式在ActiveMQ官方文档中的描述,他们的英文名称分别是Topics和Qu转载 2017-09-20 08:58:15 · 967 阅读 · 0 评论 -
ActiveMQ系列—JMS和协议间转换(代码示例)
JMS这套面向消息通信的 JAVA API 是一个和厂商无关的规范。通过JMS,我们能实现不同消息中间件厂商、不同协议间的转换和交互。这一小节我们就来讨论一下这个问题。如果用一张图来表示JMS在消息中间件中的作用话,那么就可以这么来画:首先您使用的MQ消息中间件需要实现了JMS规范;那么通过JMS规范,开发人员可以忽略各种消息协议的细节,只要消息在同一队列中,就能够保证各种消息协议间实现互相转换。下转载 2017-09-19 15:06:06 · 1121 阅读 · 0 评论 -
ActiveMQ系列—消息协议(XMPP协议)
叙述:基本概念1、消息首先有三个基本概念在开篇前我们需要进行讨论:消息、消息协议、消息队列。消息既是信息的载体,这个描述相信各位读者都能够明白。为了让消息发送者和消息接收者都能够明白消息所承载的信息(消息发送者需要知道如何构造消息;消息接收者需要知道如何解析消息),它们就需要按照一种统一的格式描述消息,这种统一的格式称之为消息协议。所以,有效的消息一定具有某一种格式;而没有格式的消息是没有意义的。而转载 2017-09-18 21:32:44 · 1188 阅读 · 0 评论 -
ActiveMQ系列—ActiveMQ中的Queue和Topics
如果您细心的话,在ActiveMQ提供的管理页面上已经看到有两个功能页面:Queue和Topic。Queue和Topic是JMS为开发人员提供的两种不同工作机制的消息队列。 在ActiveMQ官方的解释是:1、Topics In JMS a Topic implements publish and subscribe semantics. When you publish a message i转载 2017-09-19 13:58:56 · 2375 阅读 · 0 评论 -
ActiveMQ系列—使用示例(在ActiveMQ中传递Stomp消息)
下面我们使用ActiveMQ提供的JAVA 客户端(实际上就是ActiveMQ对JMS规范的实现),向ActiveMQ中的Queue(示例代码中将这个Queue命名为’test’)发送一条Stomp协议消息,然后再使用JAVA语言的客户端,从ActiveMQ上接受这条消息:1、使用ActiveMQ的API发送Stomp协议消息import java.net.Socket;import java.u转载 2017-09-19 12:01:40 · 4601 阅读 · 1 评论 -
ActiveMQ系列—ActiveMQ安装
1、下载软件您可以到Apache ActiveMQ的官网下载安装包:https://activemq.apache.org/download-archives.html。这里我们示例在CentOS 7 下的安装过程,所以下载Linux下的压缩包即可(http://www.apache.org/dyn/closer.cgi?path=/activemq/5.13.2/apache-activemq-5原创 2017-09-19 11:22:30 · 919 阅读 · 0 评论 -
ActiveMQ系列—JMS规范
JMS不是消息队列,更不是某种消息队列协议。JMS是Java消息服务接口,是一套规范的JAVA API 接口。这套规范接口由SUN提出,并在2002年发布JMS规范的Version 1.1版本。JMS和消息中间件厂商无关,既然是一套接口规范,就代表这它需要各个厂商进行实现。好消息是,大部分消息中间件产品都支持JMS 接口规范。也就是说,您可以使用JMS API来连接Stomp协议的产品(例如Acti转载 2017-09-19 09:44:58 · 693 阅读 · 0 评论 -
ActiveMQ系列—消息协议(AMQP协议)
AMQP协议的全称是:Advanced Message Queuing Protocol(高级消息队列协议)。目前AMQP协议的版本为 Version 1.0,这个协议标准在2014年通过了国际标准组织 (ISO) 和国际电工委员会 (IEC) 的投票,成为了新的 ISO 和 IEC 国际化标准。目前支持AMQP的软件厂商包括:1、协议概览在网络上讲解AQMP协议的文章已经有很多了,您可以在百度、G转载 2017-09-18 22:24:50 · 9749 阅读 · 3 评论 -
ActiveMQ系列—消息协议(Stomp协议)
1、定义Stomp协议,英文全名Streaming Text Orientated Message Protocol,中文名称为 ‘流文本定向消息协议’。是一种以纯文本为载体的协议(以文本为载体的意思是它的消息格式规范中没有类似XMPP协议那样的xml格式要求,你可以将它看作‘半结构化数据’)。目前Stomp协议有两个版本:V1.1和V1.2。一个标准的Stomp协议包括以下部分:命令/信息关键字、转载 2017-09-18 21:50:20 · 3379 阅读 · 2 评论 -
ActiveMQ系列—ActiveMQ集群方案(下)(热备方案)
序:ActiveMQ高性能方案的不足那么有的读者可能会问,既然ActiveMQ的高性能方案中多个节点同时工作,在某个节点异常的情况下也不会影响其他节点的工作。这样看来,ActiveMQ的高性能方案已经避免了单点故障,那么我们为什么还需要讨论ActiveMQ的高可用方案呢?为了回答这个问题,我们先回过头来看看ActiveMQ高性能方案的一些不足。假设如下的场景:ActiveMQ A和AcitveMQ转载 2017-09-24 10:31:52 · 2015 阅读 · 0 评论 -
ActiveMQ系列—ActiveMQ性能优化(下3)(消息存储方案 RDB)
11、关系型数据库存储方案从ActiveMQ V4版本开始,ActiveMQ就支持使用关系型数据库进行持久化存储——通过JDBC实现的数据库连接。可以支持的关系型数据库包括(但不限于):Apache Derby、DB2、HSQL、Informix、MySQL、Oracle、Postgresql、SQLServer、Sybase。下面向各位读者演示如何为ActiveMQ配置Mysql数据库服务。前提是转载 2017-09-22 10:25:47 · 761 阅读 · 0 评论