mq

rabbitmq 介绍

戏子无情 提交于 2020-02-06 03:20:41
MQ全称为Message Queue, 消息队列 (MQ)是一种 应用程序 对应用程序的通信方法。 应用程序 通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如 远程过程调用 的技术。排队指的是 应用程序 通过 队列来通信。 队列 的使用除去了接收和发送 应用程序 同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ。 MQ的消费-生产者模型的一个典型的代表,一端往 消息队列 中不断的写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA 消息中间件 服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。 rabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循 Mozilla Public License 开源协议 使用场景: 最近在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。 来源: https://www.cnblogs.com/yqskj/archive/2013/04/27/3046671.html

mq启动namesrv报错Could not find or load main class org.apache.rocketmq.namesrv.NamesrvStartup

旧时模样 提交于 2020-02-05 21:07:04
1.报错信息如下 : 失败原因,应该进入到编译后的bin目录上一层执行命令 nohup sh bin/namesrv & 我本地编译后的目录为: /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2 而不是/software_data/rocketmq-all-4.5.2-source-release/distribution 来源: CSDN 作者: lvxiucai 链接: https://blog.csdn.net/lvxiucai/article/details/104186576

MQ产品比较-ActiveMQ-RocketMQ

人走茶凉 提交于 2020-02-05 14:16:20
转载自:http://www.coin163.com/good/blog/mq.html 几种MQ产品说明: ZeroMQ : 扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装,如果我们做为消息队列使用,需要开发大量的代码 RabbitMQ :结合erlang语言本身的并发优势,性能较好,但是不利于做二次开发和维护 ActiveMQ : 历史悠久的开源项目,已经在很多产品中得到应用,实现了JMS1.1规范,可以和spring-jms轻松融合,实现了多种协议,不够轻巧(源代码比RocketMQ多).,支持持久化到数据库,对队列数较多的情况支持不好,不过我们的项目中并不会建很多的队列. Redis 做为一个基于内存的K-V数据库,其提供了消息订阅的服务,可以当作MQ来使用,目前应用案例较少,且不方便扩展 RocketMQ : 阿里巴巴的MQ中间件,在其多个产品下使用,并能够撑住双十一的大流量,他并没有实现JMS规范,使用起来很简单。部署由一个 命名服务(nameserver)和一个代理(broker)组成,nameserver和broker以及producer都支持集群,队列的容量受机器硬盘的限制,队列满后可以支持持久化到硬盘(也可以自己适配代码,将其持久化到NOSQL数据库中),队列满后会影响吞吐量,可以采用主备来保证稳定性,支持回溯消费

[MQ]rocketMQ

喜夏-厌秋 提交于 2020-02-05 14:11:54
阿里巴巴的rocketmq github地址:https://github.com/alibaba/RocketMQ 启动过程 git clone https://github.com/alibaba/RocketMQ.git cd RocketMQ sh install.sh cd devenv 安装完成后,因为install.sh脚本中创建devenv 符号链接写错了目录,需要在RocketMQ目录下执行如下命令: rm -rf devenv ln -s target/alibaba-rocketmq-3.0.7/alibaba-rocketmq devenv 启动RocketMQ cd devenv/bin nohup sh mqnamesrv & nohup sh mqbroker -n "192.168.230.128:9876" & more nohup.out 如果显示: The Name Server boot success. The broker[vdata.kt, 192.168.230.128:10911] boot success. 来源: https://www.cnblogs.com/hm-zhang/p/5955260.html

关于mq的思考

两盒软妹~` 提交于 2020-02-05 14:09:27
解耦场景 spark 发告警,同过kafka来解耦 削峰场景 日志采集生产环境几百台,当后续数量持续增加时,如果不加消息队列或者内存队列,可能把数据库打死 一个中间件: 为什么用 -》解决什么问题 有什么作用,优点和缺点 是否横向对比 为什么用 -> 解决什么问题 -> 有什么作用 -> 优缺点 为什么用 -> 遇到问题/场景-> 比较 -> 优缺点 场景 = 问题 高可用 -> 数据冗余 消息可靠传输出现问题的环节 生产者 确认机制 MQ 副本 持久化 消费者 offset、想mq确认 顺序一致性: 生产者 消息按照key划分成多个队列,每个队列一个生产者,单线程发送,每确认成功一条后,再发送第二条 MQ: 消息按照key划分成多个队列,key相同的消息进入一个队列 消费者 消息按照key划分成多个队列,每个队列一个消费者,单线程消费,每确认成功一条后,再消费第二条 来源: https://www.cnblogs.com/zhouj-happy/p/10976955.html

Rabbit MQ实战【fanout交换器】

旧巷老猫 提交于 2020-02-04 15:12:14
spring boot版本:2.1.10.RELEASE 本文涉及两个项目 rabbitmq-fanout-provider 和 rabbitmq-fanout-consumer ,相关依赖和配置相同。 相关依赖 < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - amqp < / artifactId > < / dependency > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - web < / artifactId > < / dependency > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - test < / artifactId > < scope > test < / scope > < / dependency > 相关配置 #rabbitmq配置

Rabbit MQ实战【topic交换器】

混江龙づ霸主 提交于 2020-02-04 01:12:24
spring boot版本:2.1.10.RELEASE 本文涉及两个项目 rabbitmq-topic-provider 和 rabbitmq-topic-consumer ,相关依赖和配置相同。 相关依赖 < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - amqp < / artifactId > < / dependency > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - web < / artifactId > < / dependency > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - test < / artifactId > < scope > test < / scope > < / dependency > 相关配置 #rabbitmq配置

windows10安装RabbitMq教程

血红的双手。 提交于 2020-02-03 22:43:26
一、下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。 下载地址: http://www.erlang.org/downloads 我的电脑是64位的,各位根据自己的电脑配置选择相应的,速度较慢,可以去下面的地址下载,需要积分,可以直接使用。 csdn erlang22.2下载地址: https://download.csdn.net/download/qq_36178165/12133199 下载下来就是这玩意 双击打开一直next 第二步有需要的话可以更换安装地址,我的是安装在可D盘直到完成 安装完事儿后要记得配置一下系统的环境变量。 此电脑-->鼠标右键“属性”-->高级系统设置-->环境变量-->“新建”系统环境变量:ERLANG_HOME 然后双击系统变量path 点击“新建”,将%ERLANG_HOME%\bin加入到path中。 最后在cmd中输入erl 显示下面的情况则表示安装成功 二、下载并安装RabbitMQ 下载地址: http://www.rabbitmq.com/download.html 这个下载的比较快 可以直接点击链接下载。 下载完成后双击.exe文件,同样需要修改地址的记得修改,直到安装完成 安装好后定位到安装目录下的sbin文件夹 我的安装在:D:

20200202 ActiveMQ 1. 入门概述

拈花ヽ惹草 提交于 2020-02-02 09:54:48
MQ的种类 : Kafka RabbitMQ RocketMQ ActiveMQ 微服务中系统直接调用存在的问题,需要引入MQ的原因: 系统之间接口耦合严重; 大流量并发时,容易被冲垮; 等待同步调用存在性能问题; MQ能做什么 解耦 削峰 异步 MQ的 技术维度 : 发送和接收消息API MQ的高可用性 MQ的集群和容错配置 MQ的持久化 延时发送和定时投递 签收机制 Spring整合 编程语言:Java Kafka:Java、Scala RabbitMQ:erlang RocketMQ:Java 面向消息的中间件(messae-oriented middleware) MOM 定义: 是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供 消息传递 和 消息排队 模型在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等功能。 大致过程: 发送者把消息发送给消息服务器,消息服务器将消息存放在若干 队列 / 主题 中,在合适的时候,消息服务器会将消息转发给接受者。在这个过程中, 发送和接收是异步的 ,也就是发送无需等待,而且发送者和接受者的生命周期也没有必然关系;尤其在发布pub/订阅sub模式下,也可以完成一对多的通信,既让一个消息有多个接收者。 来源: https://www.cnblogs.com

20200202 ActiveMQ 4. JMS规范和落地产品

孤者浪人 提交于 2020-02-02 09:53:40
ActiveMQ 4. JMS规范和落地产品 4.1. JMS是什么 4.1.1. JavaEE JavaEE是一套使用Java进行企业级应用开发的大家一致遵循的13个核心规范工业标准。JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。 JDBC(Java Database)数据库连接 JNDI(Java Naming and Directory Interfaces)Java的命名和目录接口 EJB(Enterprise JavaBean) RMI(Remote Method Invoke)远程方法调用 Java IDL(Interface Description Language)/ CORBA(Common Object Broker Architecture)接口定义语言/公用对象请求代理程序体系结构 JSP(Java Server Pages) Servlet XML(Extensible Markup Language)可扩展标记语言 JMS(Java Message Service)Java消息服务 JTA(Java Transaction API)Java事务API JTS(Java Transaction Service)Java事务服务 JavaMail JAF(JavaBean Activation Framework) 4.1