activemq

Kafka与RabbitMQ、ActiveMQ协议区别

感情迁移 提交于 2020-02-12 10:05:22
对于Kafka与RabbitMQ、ActiveMQ协议,它们具体的区别如下: activemq: activemq支持主从复制、集群。但是集群功能看起来很弱,只有failover功能,即我连一个失败了,可以切换到其他的broker上。这一点貌似不太科学。假设有三个broker,其中一个上面没有consumer,但另外两个挂了,消息会转到这个上面来,堆积起来。看样子activemq还在升级中。 activemq工作模型比较简单。只有两种模式 queue,topics rabbitmq: rabbitmq用erlang写的。安装完才10m不到,在windows上使用也非常方便,在这点上完爆了activemq,java又臭又长没办法啊。rabbitmq给我感觉更像oracle,功能非常强大。安装完,也有实例的概念,可以像建数据库一样,建实例,建用户划权限。同时监控系统也很好用。这些都是好处,同时也是累赘,整体上来说rabbitmq比activemq复杂太多了 kafka: kafka号称为分布式而生。和activemq以及rabbitmq这些企业级队列而言确实更有分布式系统的优势 kafka的优势在于: 传统的消息队列只有两种模式,要么是queue,要么是publish-subscribe发布订阅。在queue模式中,一组消费者消费一个队列,每条消息被发给其中一个消费者。在publish

win10部署activeMQ

南楼画角 提交于 2020-02-11 15:04:14
1.下载activeMQ压缩包 官网: http://archive.apache.org/dist/activemq/5.12.2/apache-activemq-5.12.2-bin.zip 百度网盘: 链接:https://pan.baidu.com/s/1dp_MI22xUqxdp7ds2d_bDw 提取码:8me0 2.解压压缩包 3.进入解压路径的bin目录 4.根据自己的window系统的位数选择进入对应的win32或者win64目录,这里我是win64 点击 activemq.bat即可启动activeMQ服务 控制台输出如下 6.地址栏访问 http://127.0.0.1:8161/ 出现如下页面表示服务成功启动 7.可以将active服务注册为windows服务,只需要运行如下bat文件 运行后,在服务里面可以看到activeMQ服务 8.在地址栏输入 http://localhost:8161/admin ,输入默认用户名密码均为admin,即可进入MQ控制台管理界面 9.其他说明 9.1目录结构说明 bin:脚本文件 conf:基本配置文件 data:日志文件 docs:说明文档 examples:案例 lib:jar包 webapps:项目目录 9.2默认用户名密码 9.3 修改端口号,端口出现冲突的情况下可以修改默认端口,一般不用修改 来源: CSDN

ActiveMQ集群架构与原理解析

喜欢而已 提交于 2020-02-11 13:28:38
初识 JMS 与其专业术语 首先,说起ActiveMQ,就必须先聊聊JMS(Java Message Service)规范,也就是Java消息服务,它定义了Java中访问消息中间件的接口的规范。在这里注意哦,JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为 “JMS Provider”,目前知名的开源 MOM (Message Oriented Middleware,也就是消息中间件)系统包括Apache的ActiveMQ、RocketMQ、Kafka,以及RabbitMQ,可以说他们都 “基本遵循” 或 “参考” JMS规范,都有自己的特点和优势。 专业术语 JMS(Java Message Service):实现JMS 接口的消息中间件; Provider(MessageProvider):消息的生产者; Consumer(MessageConsumer):消息的消费者; PTP(Point to Point):即点对点的消息模型,这也是非常经典的模型; Pub / Sub(Publish/Subscribe):,即发布/订阅的消息模型; Queue:队列目标,也就是我们常说的消息队列,一般都是会真正的进行物理存储; Topic:主题目标; ConnectionFactory:连接工厂,JMS 用它创建连接; Connection:JMS 客户端到JMS

消息队列MQ

佐手、 提交于 2020-02-07 03:51:15
常见的企业级MQ 1. RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP。 优点: 也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个代理(Broker)构架,这意味着消息在发送到客户端之前可以在中央节点上排队。对路由(Routing),负载均衡(Load balance)或者数据持久化都有很好的支持。 缺点: 它的可扩展性差,速度较慢,因为中央节点增加了延迟,消息封装后也比较大。 2. ZeroMQ ZeroMQ是一个非常轻量级的消息系统,专门为高吞吐量/低延迟的场景开发,在金融界的应用中经常可以发现它。 优点:号称最快的消息队列系统,尤其针对大吞吐量的需求场景。ZeroMQ能够实现RabbitMQ不擅长的高级/复杂的队列。 缺点: 与RabbitMQ相比,ZeroMQ支持许多高级消息场景,但是你必须实现ZeroMQ框架中的各个块(比如Socket或Device等)。ZeroMQ非常灵活,但是你必须学习它的80页的手册(如果你要写一个分布式系统,一定要阅读它)。 应用:Twitter的Storm中使用ZeroMQ作为数据流的传输。 3. ActiveMQ ActiveMQ居于两者之间,类似于ZemoMQ,它可以部署于代理模式和P2P模式。类似于RabbitMQ,它易于实现高级场景

Message is not consumed by all consumers when network brokers is configured in ActiveMQ

我与影子孤独终老i 提交于 2020-02-07 02:25:08
问题 I have 2 instances of my application on the same machine (although it could be on different machines as well) with two Tomcat instances with different ports and Apache ActiveMQ is embedded in the application. I have configured a static network of brokers so that the message from one instance can be consumed by all other instance as well (each instance can be producer and consumer). servlet: package com.activemq.servlet; import java.io.IOException; import java.util.HashMap; import java.util

Camel: retrieving object in activemq message

谁说我不能喝 提交于 2020-02-05 13:07:35
问题 Is there a way to put object in message in camel route process. lets say i have a route from("direct:send") .process(queueProcessor) .to(activemqEndPoint) and in the queueProcessor i am putting an object in the exchange, Now, I have a listener which listens to activemqEndPoint(queue) public void onMessage(Message message) { try { //here i want to get the message i set it in the exchange } Any help?? THanks in advance 回答1: trying this worked for me from("direct:send") .process(queueProcessor)

Camel: retrieving object in activemq message

江枫思渺然 提交于 2020-02-05 13:07:17
问题 Is there a way to put object in message in camel route process. lets say i have a route from("direct:send") .process(queueProcessor) .to(activemqEndPoint) and in the queueProcessor i am putting an object in the exchange, Now, I have a listener which listens to activemqEndPoint(queue) public void onMessage(Message message) { try { //here i want to get the message i set it in the exchange } Any help?? THanks in advance 回答1: trying this worked for me from("direct:send") .process(queueProcessor)

Active Mq : How to stop active mq from creating queue which doesnt exist

流过昼夜 提交于 2020-02-05 07:03:24
问题 How to stop active mq from creating queue which doesnt exist? I am using Active mq for storing message but active Mq creates a queue if itbdoewnt exist. I dont want it to create a queue if it doesnt exist 回答1: you need to limit destinations creation by setting an authorizationPlugin : only users with admins role can send and read messages and create destinations only users with producers role can send messages only users with consumers role can read messages add to activemq.xml : <plugins>