rocketmq

Docker搭建RocketMQ-console

老子叫甜甜 提交于 2019-12-07 13:29:05
本文为Docker搭建RocketMQ-console 转载请注明: http://blog.csdn.net/sinat_28434649/article/details/79295164 1、下载镜像 docker pull styletang/rocketmq-console-ng #下载过程会比较慢请耐心等待 2、创建容器 docker run --link rmqnamesrv:rmqnamesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8001:8080 -t styletang/rocketmq-console-ng 创建成功 3、打开控制台 地址:http://rmq-console.cn:18000 本地请访问:localhost:8001 4、问题总结: 1】在实际使用中,会出现获取不到broker的信息,如果broker(docker地址:A,物理机地址:B。配置 brokerIP1 =B ),那么从console端直接访问B地址,可能不识别,创建容器时需要“--link rmqbroker:B”让console容器解析B地址。 5、结束语 以后有更新版本也可按照上述方法修改,创建镜像。 6

Docker安装Rocketmq服务

依然范特西╮ 提交于 2019-12-07 13:28:36
github地址 https://github.com/apache/rocketmq-externals docker 安装目录 https://github.com/apache/rocketmq-externals/tree/master/rocketmq-docker/image-build 首先构建Docker镜像 可以执行 sh build-image.sh 4.5.0 也可以执行命令行执行下面命令: docker build --no-cache -t rocketmqinc/rocketmq:4.5.0 --build-arg version=4.5.0 . 注意 因为我是在windows下操作的,所以导致scripts目录下两个sh脚本包含了windows的换行符,从而出现错误$’\r’: command not found 错误。 解决方法: 修改Dockerfile文件 1、安装dos2unix* 在安装脚本里面添加安装dos2unix* RUN yum install -y dos2unix* java-1.8.0-openjdk-devel.x86_64 unzip gettext nmap-ncat openssl, which gnupg, telnet \ && yum clean all -y 2、对两个脚本进行转码 在添加脚本后的操作后面添加

Docker 安装 RocketMQ

梦想与她 提交于 2019-12-07 13:28:24
启动NameServer和Broker docker run -d -p 9876:9876 -v ` pwd ` /data/namesrv/logs:/root/logs -v ` pwd ` /data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.3.0 sh mqnamesrv docker run -d -p 10911:10911 -p 10909:10909 -v ` pwd ` /data/broker/logs:/root/logs -v ` pwd ` /data/broker/store:/root/store --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.3.0 sh mqbroker 注 :启动broker时,需要通过修改配置指定外网可以访问的brokerIp,否则会将容器内部ip注册到namesrv,导致客户端访问不到 官网文档 https://github.com/apache

Docker中RocketMQ的安装与使用

旧城冷巷雨未停 提交于 2019-12-07 13:27:44
搜索RocketMQ的镜像,可以通过docker的hub.docker.com上进行搜索,也可以在Linux下通过docker的search命令进行搜索,不过最近防火墙升级后,导致国外的网站打开都很慢,通过命令搜索反而会更加方便,操作Docker命令一定要是root用户或者具有root权限的用户。查询操作如下: docker search rocketmq 可以得到如下的结果: 镜像倒是蛮多的,不过看来看去没有一个是官方发布的,我就随便选一个吧,如foxiswho/rocketmq,以下是一个查看当前镜像所有的版本shell命令: curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\ | tr -d '[\[\]" ]' | tr '}' '\n'\ | awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}' 如果要查看其它的镜像,只需要将其中的镜像名称foxiswho/rocketmq替换为其它镜像即可,执行该命令得到大致如下结果: 下面的就是分步启动nameserver和broker。 启动NameServer: docker run -d -p

docker rocketmq 安装及使用

徘徊边缘 提交于 2019-12-07 13:27:14
rocketmq docker hub地址 https://hub.docker.com/r/foxiswho/rocketmq/ 风.fox 所有信息 都是 在 mac 系统 执行成功 docker compose 一键生成 风.fox 注意 使用 一键生成时候,要保证 9876 , 10909 , 10911 , 8180 不被占用,如果占用,请自行更改 docker-compose.yml 的端口号 执行 git clone https://github.com/foxiswho/docker-rocketmq.git cd docker-rocketmq cd rmq chmod +x start.sh ./start.sh 将会一键生成3个容器 如果输出如下信息,表名 创建成功 Creating rmqnamesrv .. . done Creating rmqbroker .. . done Creating rmqconsole .. . done 浏览器访问 localhost:8180 配置文件 在 rmq/rmq/brokerconf 目录下,成功后会自动映射配置文件 rmq/brokerconf/broker.conf 到 容器内部 路径 /etc/rocketmq/broker.conf 注意 如果你的微服务或者项目在开发的时候没有放入 docker

Spring Cloud Alibaba 笔记

我的未来我决定 提交于 2019-12-07 10:13:34
Spring Cloud Alibaba 笔记 目标 1.服务注册与发现Nacos( http://localhost:8848/nacos ) 2.服务A,服务B 注册到Nacos上实现服务之间互相调用 3.统一配置管理 4.熔断(解决服务蹦了怎么办的问题) 4.网关动态路由到服务上 5.链路追踪 6.消息中间件RocketMQ 7.分布式缓存 准备工作 JDK 1.8+ ,设置好环境变量 ,通过java -version 查看当前JDK版本 Maven 3.2.x+ 查看当前Maven版本 Maven 镜像仓库设置成阿里云的,提高打包,构建的速度。不然的话使用国外的镜像仓库会慢到你无法想象。 修改maven/config/settings.xml <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> 服务注册与发现Nacos # 下载源码 git clone https://github.com/alibaba/nacos.git # 安装到本地仓库 cd nacos/ mvn -Prelease-nacos clean

RocketMq在SparkStreaming中的应用

为君一笑 提交于 2019-12-06 18:51:41
   其实Rocketmq的给第三方的插件已经全了,如果大家有兴趣的话请移步 https://github.com/apache/rocketmq-externals 。本文主要是结合笔者已有的rmq在spark中的应用经验对rocketmq做简单介绍以及经验总结,当然免不了会将rocketmq和如今特别火爆的kafka做一些对比(Ps:为了方便打字rmq后面会是rocketmq的缩写)。    首先对rocktmq做一些流行的消息队列对比。   提到mq不得不提消息队列,对应于数据结构里面的“先进先出”的队列。而rocketmq就是应用于大数据时代拥有高吞吐低延迟特性的分布式消息拥有发布订阅功能的队列系统。这样的分布式消息系统主要提供应用解耦、流量消峰、消息分发等功能。本片不会对安装集群做过多的介绍,安装单机版本rmq的教程移步官方文档 http://rocketmq.apache.org/docs/quick-start/ 。 rocktmq是阿里研发主要作用于双十一这样的高峰期实时流数据处理,起初是基于activemq,但是随着对吞吐量的要求逐步提高,阿里的开发者们逐渐把眼光向kafka转移,但是kafka并不具备低延迟和高可靠性。因此阿里决定研究这样一个兼并传统的订阅消息系统的发布订阅场景与高并发零误差低延时的传输系统。   

分布式之消息队列的特点、选型、及应用场景详解

a 夏天 提交于 2019-12-06 17:07:59
什么是消息队列 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列。 消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,有消息系统来确保信息的可靠专递,消息发布者只管把消息发布到MQ中而不管谁来取,消息使用者只管从MQ中取消息而不管谁发布的,这样发布者和使用者都不用知道对方的存在。 Producer:消息生产者,负责产生和发送消息到 Broker; Broker:消息处理中心。负责消息存储、确认、重试等,一般其中会包含多个 queue; Consumer:消息消费者,负责从 Broker 中获取消息,并进行相应处理; 现在常用的MQ组件有ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ,当然近年来火热的Kafka,从某些场景来说,也是MQ,当然kafka的功能更加强大。 虽然不同的MQ都有自己的特点和优势,但是,不管是哪种MQ,都有MQ本身自带的一些特点,下面,咱们谈谈消息队列的的特点、优势、选型、以及应用场景。 为什么需要消息队列 在高并发分布式环境下,由于来不及同步处理,通过使用消息队列,可以异步处理请求,从而缓解系统的压力。 举一个订单系统的例子:用户点击下订单

聊聊rocketmq的suggestPullingFromSlave

核能气质少年 提交于 2019-12-06 17:01:04
序 本文主要研究一下rocketmq的suggestPullingFromSlave suggestPullingFromSlave rocketmq-all-4.6.0-source-release/store/src/main/java/org/apache/rocketmq/store/GetMessageResult.java public class GetMessageResult { private final List<SelectMappedBufferResult> messageMapedList = new ArrayList<SelectMappedBufferResult>(100); private final List<ByteBuffer> messageBufferList = new ArrayList<ByteBuffer>(100); private GetMessageStatus status; private long nextBeginOffset; private long minOffset; private long maxOffset; private int bufferTotalSize = 0; private boolean suggestPullingFromSlave = false; private int

分布式之消息队列的特点、选型、及应用场景详解

…衆ロ難τιáo~ 提交于 2019-12-06 17:00:50
什么是消息队列 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列。 消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,有消息系统来确保信息的可靠专递,消息发布者只管把消息发布到MQ中而不管谁来取,消息使用者只管从MQ中取消息而不管谁发布的,这样发布者和使用者都不用知道对方的存在。 Producer:消息生产者,负责产生和发送消息到 Broker; Broker:消息处理中心。负责消息存储、确认、重试等,一般其中会包含多个 queue; Consumer:消息消费者,负责从 Broker 中获取消息,并进行相应处理; 现在常用的MQ组件有ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ,当然近年来火热的Kafka,从某些场景来说,也是MQ,当然kafka的功能更加强大。 虽然不同的MQ都有自己的特点和优势,但是,不管是哪种MQ,都有MQ本身自带的一些特点,下面,咱们谈谈消息队列的的特点、优势、选型、以及应用场景。 为什么需要消息队列 在高并发分布式环境下,由于来不及同步处理,通过使用消息队列,可以异步处理请求,从而缓解系统的压力。 举一个订单系统的例子:用户点击下订单