activemq

分布式消息通信ActiveMQ原理-发送策略-笔记

百般思念 提交于 2019-12-02 22:02:49
持久化消息和非持久化消息的发送策略 消息同步发送和异步发送 ActiveMQ支持同步、异步两种发送模式将消息发送到broker上。 同步发送过程中,发送者发送一条消息会阻塞直到broker反馈一个确认消息,表示消息已经被broker处理。 这个机制提供了消息的安全性保障 ,但是由于是阻塞的操作,会影响到客户端消息发送的性能 异步发送的过程中,发送者不需要等待broker提供反馈,所以性能相对较高。但是可能会出现消息丢失的情况。 所以使用异步发送的前提是在某些情况下 允许出现数据丢失 的情况。 默认情况下,非持久化消息是异步发送的,持久化消息并且是在非事务模式下是同步发送的。 但是在开启事务的情况下,消息都是异步发送。由于异步发送的效率会比同步发送性能更高。 所以在 发送持久化消息的时候,尽量去开启事务会话。 除了持久化消息和非持久化消息的同步和异步特性以外,我们还可以通过以下几种方式来设置异步发送 ConnectionFactory connectionFactory= new ActiveMQConnectionFactory("tcp://192.168.11.153:61616?jms.useAsyncSend=true"); ((ActiveMQConnectionFactory) connectionFactory).setUseAsyncSend(true); (

Docker学习之搭建ActiveMQ消息服务

我是研究僧i 提交于 2019-12-02 22:02:39
前言 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 在生产项目中,很多时候需要消息中间件来进行分布式系统间的通信。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能。本篇主要介绍ActiveMQ 相关概念以及安装说明,后面会着重介绍 SpringBoot 集成实现秒杀消息队列。 概念 JMS消息模式 点对点或队列模式 包含三个角色:消息队列(Queue),发送者(Sender),接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到他们被消费或超时。 每个消息只有一个消费者(Consumer),即一旦被消费,消息就不再在消息队列中 发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,它不会影响到消息被发送到队列 接收者在成功接收消息之后需向队列应答成功 Pub/Sub 发布/订阅模式 包含三个角色:主题(Topic),发布者(Publisher),订阅者(Subscriber) 。多个发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。

Running Multiple ActiveMQ Instances on One Machine

戏子无情 提交于 2019-12-02 22:02:28
The Integration Zone is brought to you in partnership with WSO2 . Learn more about WSO2's API Management by watching their on-demand webinar. A few weeks ago I started making use of Apache ActiveMQ again as the JMS provider with my Mule ESB solution. Since it had been a few years that I used ActiveMQ I thought it would be nice to check out some of the (new) features like the failover transport and other clustering features . To be able to test these last things I needed multiple installations of ActiveMQ on my machine. Luckily this isn’t very hard to accomplish, although the documentation on

Win7环境下安装ActiveMQ

喜欢而已 提交于 2019-12-02 22:02:12
参考ActiveMQ官方文档: http://activemq.apache.org/getting-started.html 安装ActiveMQ 近来要学习JMS,在网上查了些资料,发现ActiveMQ是比较流行的JMS开源框架,决定使用ActiveMQ来学习JMS开发。作为学习JMS的起步,首先要安装ActiveMQ,在windows环境下安装ActiveMQ需要以下步骤: 下载ActiveMQ最新版本的二进制版,下载路径:http://activemq.apache.org/download.html。 解压到任意目录,在DOS窗口下,将工作目录切换到ActiveMQ的安装目录,并输入命令:activemq。 等待ActiveMQ启动。 如果ActiveMQ启动没有问题,就会出现如上图中红线标示的信息: INFO ActiveMQ JMS Message Broker (ID:apple-s-Computer.local-51222-1140729837569-0:0) has started 测试ActiveMQ ActiveMQ的默认端口为61616,另开一个DOS窗口,输入如下命令并回车,可以查看这个端口是否已经打开: netstat -an | find "61616" 也可以在浏览器中检测ActiveMQ的运行状况,访问路径如下: http://127.0.0.1

ActiveMQ发消息、收消息、持久化,查询队列剩余消息数、出队数的实现

喜你入骨 提交于 2019-12-02 22:01:59
初次发博文,勿喷~~ 最近老大让我使用ActiveMQ实现这么个东东:1.查询消息队列中还有多少任务没有执行;2.消息队列的持久化; 真是愁杀我也,以前没见过啊,于是又看文档,又百度又google的,最终还是在一天半之后整出来鸟~~ 首先向大家介绍一本书籍《ActiveMQ in Action》,我大部分代码都是参考这本书实现的。好了,废话少说,看代码: 1.首先启动activeMQ的服务 public class RunServer { /** 启动activeMQ服务 */ public static void main(String[] args) throws Exception { RunServer rs = new RunServer(); BrokerService broker = rs.startServer(); } public BrokerService startServer() throws Exception{ // java代码调用activemq相关的类来构造并启动brokerService BrokerService broker = new BrokerService(); // 以下是持久化的配置 // 持久化文件存储位置 File dataFilterDir = new File("targer/amq-in-action/kahadb"

Linux 安装ActiveMQ(使用Mac远程访问)

匿名 (未验证) 提交于 2019-12-02 21:59:42
阅读本文需要 安装JDK 一 ActiveMQ简介 activemq是用java语言编写的一款开源消息总线 activemq是apache出品 activemq消息的传递有两种类型 一种是点对点(即一个生产者和一个消费者一一对应) 另一种是发布|订阅模式(即一个生产者产生消息并发送后 可以由多个消费者进行接收) 二 ActiveMQ应用场景 1. 异步处理 2. 应用解耦 3. 流量削峰 4. 点对点通讯 三 环境 阿里云服务器: CentOS 7.4 64位(基于RedHat) 本机: macOS High Sierra 四 压缩包 http://archive.apache.org/dist/activemq/ 五 文件传输 输入SFTP命令连接 -> 输入实例登录密码   sftp root@公网IP 上传   put 本地文件 服务器路径 下载   get 服务器文件 本地路径 六 远程访问 输入SSH命令连接 -> 输入实例登录密码   ssh root@公网IP 七 关闭防火墙 关闭防火墙   systemctl stop firewalld.service 关闭防火墙开机自启动功能   systemctl disable firewalld.service 查看防火墙状态   firewall-cmd --state 八 安装ActiveMQ 新建目录   mkdir

linux下activemq安装与配置

匿名 (未验证) 提交于 2019-12-02 21:59:42
linux下activemq安装与配置 一、下载:apache-activemq-5.14.0-bin.tar.gz http://activemq.apache.org/activemq-5140-release.html 二、安装activemq 1、gz文件拷贝到/usr/local/src目录 2、解压启动 tar -zxvf apache-activemq-5.14.0-bin.tar.gz cd apache-activemq-5.14.0 cd bin ./activemq start ( 前端进程: cd [activemq_install_dir]/bin ./activemq console ) 关闭 ./activemq start 三、开启防火墙端口 1、如果使用了云服务器需要先开启8161(web管理页面端口)、61616(activemq服务监控端口) 两个端口 2、打开linux防火墙端口 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status

java ActiveMQ sendwithReply模式(Queue)

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.发送方代码 import com.tfinfo.cim.common.mapper.JsonMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired ; import org.springframework.beans.factory.annotation.Qualifier ; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; import org.springframework.stereotype.Component ; import javax.jms.*; import java.util.Map; import java.util.Map.Entry; import java.util.UUID; /** * * @description 队列消息生产者,发送消息到队列 * */ @Component ( "queueSender" ) public class QueueSender { @Autowired

ActiveMQ

匿名 (未验证) 提交于 2019-12-02 21:53:52
一、什么是消息中间件(MQ) 1.1 为什么会需要消息队列(MQ)?   主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达MySQL,直接导致无数的行锁表锁,甚至最后请求会堆积过多,从而触发too many connections错误。通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力。 2.2 什么是消息中间件   消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(消费者)   常见的消息中间件产品:   (1)ActiveMQ   ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。我们在本次课程中介绍 ActiveMQ的使用。   (2)RabbitMQ   AMQP协议的领导实现,支持多种场景。淘宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。   (3)ZeroMQ   史上最快的消息队列系统   (4)Kafka

Centos7 安装 ActiveMq

匿名 (未验证) 提交于 2019-12-02 21:53:32
1、安装 # cd /usr/local/src/ # tar -xzvf apache-activemq-5.15.3-bin.tar.gz 2、启动与关闭 #启动activemq服务 # ./activemq start Starting ActiveMQ Broker... #关闭activemq服务 # ./activemq stop Stopping ActiveMQ Broker... Stopped ActiveMQ Broker. # 3、访问 http://IP地址:8161/admin/   用户名和密码默认是:admin 文章来源: Centos7 安装 ActiveMq