阿里云轻量服务器--Docker--RocketMq安装

这篇具有很好参考价值的文章主要介绍了阿里云轻量服务器--Docker--RocketMq安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:本文介绍使用docker 部署-RocketMq;

1 RocketMq 介绍:

Apache RocketMQ是一款开源的分布式消息中间件,具有高吞吐量、高可用性、高伸缩性和灵活的可靠消息传输机制等特点。RocketMQ支持多种消息模式,包括异步传输、同步传输和单向传输,并支持多种订阅模式,包括广播模式和集群模式。RocketMQ还提供了丰富的API和管理工具,可以轻松地进行消息的发送、订阅和管理。 RocketMQ的主要特点包括:

  • 高吞吐量:RocketMQ具有高吞吐量的特点,每秒可以处理百万级别的消息。

  • 高可用性:RocketMQ支持主从模式,确保在某个节点故障的情况下仍然能够保证消息的传输。

  • 高可靠性:RocketMQ提供了令人信任的可靠消息传输机制,通过多种方式确保消息不会丢失和重复。

  • 同步和异步传输:RocketMQ支持同步和异步传输两种方式,根据业务需要选择合适的方式。

  • 多种订阅模式:RocketMQ支持广播模式和集群模式,可以根据具体需求选择合适的订阅模式。

-多样化的API和管理工具:RocketMQ提供了多样化的API和管理工具,方便用户进行消息发送、订阅和管理。

RocketMQ可以广泛应用于分布式系统、大数据处理、在线事物处理等场景,是一款值得信赖的开源消息中间件。

2 RocketMq docker-compose 安装:

2.1 安装docker-compose(如果已经按照跳过该步骤):

#通过docker-compose version命令进行查看
docker-compose version
# 如果没有该命令则 走下面步骤进行安装docker-compose
# 1.安装扩展源
sudo yum -y install epel-release

# 2.安装python-pip模块
sudo yum -y install python-pip

# 3.查看docker-compose版本
docker-compose version

# 提示未找到命令
# 4.通过以命令进行安装
cd /usr/local/bin/
wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64
rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64
chmod +x /usr/local/bin/docker-compose
# 5.再通过docker-compose version命令进行查看

2.2 创建文件目录:

mkdir rocketmq

# 在rocketmq目录下创建该文件或目录 结构如下
[root@localhost rocketmq]# tree
.
├── conf
│   └── broker.conf
├── docker-compose.yml
├── logs
└── store

3 directories, 2 files

其中conf,logs, store 为文件夹使用mkdir 命令创建; broker.conf,docker-compose.yml为文件使用touch 命令创建;

2.3 docker-compose.yml:

version: '3.2'
services:
  rmqserver:
    image: foxiswho/rocketmq:server
    container_name: rmqserver
    ports:
      - 9876:9876
    volumes:
      - ./logs:/opt/logs
      - ./store:/opt/store
    networks:
        rmq:
          aliases:
            - rmqserver
 
  rmqbroker:
    image: foxiswho/rocketmq:broker
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
    volumes:
      - ./logs:/opt/logs
      - ./store:/opt/store
      - ./conf/broker.conf:/usr/local/docker/rocketmq/broker.conf
    environment:
        NAMESRV_ADDR: "rmqserver:9876"
        JAVA_OPTS: " -Duser.home=/opt"
        JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
    command: mqbroker -c /usr/local/docker/rocketmq/broker.conf
    depends_on:
      - rmqserver
    networks:
      rmq:
        aliases:
          - rmqbroker
 
  rmqconsole:
    image: styletang/rocketmq-console-ng
    container_name: rmqconsole
    ports:
      - 8089:8080
    environment:
        JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqserver:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    depends_on:
      - rmqserver
    networks:
      rmq:
        aliases:
          - rmqconsole
 
networks:
  rmq:
    driver: bridge

命令解释:
version:指定本 yml 依从的 compose 哪个版本制定的;
services:要安装的服务;
rmqserver:rmqserver服务
image:docker 镜像
container_name:容器名称
ports:容器的映射端口号
volumes:文件映射
networks:配置容器连接的网络;
aliases:同一网络上的其他容器可以使用服务名称或此别名来连接到对应容器的服务;
environment:添加环境变量;
command:覆盖容器启动的默认命令;
depends_on:设置依赖关系,先启动rmqserver 在启动rmqbroker;
driver: bridge 设置网络模式;

docker-compose 命令参考:https://www.runoob.com/docker/docker-compose.html

2.4 broker.conf内容:

censed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
 
 
# 所属集群名字
brokerClusterName=DefaultCluster
 
# broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.properties 使用: broker-a,
# 在 broker-b.properties 使用: broker-b
brokerName=broker-a
 
# 0 表示 Master,> 0 表示 Slave
brokerId=0
 
# nameServer地址,分号分割
# namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
 
# 启动IP,如果 docker 报 com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.0.120:10909> failed
# 解决方式1 加上一句 producer.setVipChannelEnabled(false);,解决方式2 brokerIP1 设置宿主机IP,不要使用docker 内部IP
brokerIP1=192.168.0.136
 
# 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
 
# 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!!这里仔细看是 false,false,false
autoCreateTopicEnable=true
 
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
 
# Broker 对外服务的监听端口
listenPort=10911
 
# 删除文件时间点,默认凌晨4点
deleteWhen=04
 
# 文件保留时间,默认48小时
fileReservedTime=120
 
# commitLog 每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
 
# ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
 
# destroyMapedFileIntervalForcibly=120000
# redeleteHangedFileInterval=120000
# 检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
# 存储路径
# storePathRootDir=/home/ztztdata/rocketmq-all-4.1.0-incubating/store
# commitLog 存储路径
# storePathCommitLog=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/commitlog
# 消费队列存储
# storePathConsumeQueue=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/consumequeue
# 消息索引存储路径
# storePathIndex=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/index
# checkpoint 文件存储路径
# storeCheckpoint=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/checkpoint
# abort 文件存储路径
# abortFile=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/abort
# 限制的消息大小
maxMessageSize=65536
 
# flushCommitLogLeastPages=4
# flushConsumeQueueLeastPages=2
# flushCommitLogThoroughInterval=10000
# flushConsumeQueueThoroughInterval=60000
 
# Broker 的角色
# - ASYNC_MASTER 异步复制Master
# - SYNC_MASTER 同步双写Master
# - SLAVE
brokerRole=ASYNC_MASTER
 
# 刷盘方式
# - ASYNC_FLUSH 异步刷盘
# - SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
 
# 发消息线程池数量
# sendMessageThreadPoolNums=128
# 拉消息线程池数量
# pullMessageThreadPoolNums=128

2.5 启动容器:

docker-compose up -d

2.6 访问控制台:
添加8099 防护墙端口:
阿里云轻量服务器--Docker--RocketMq安装

访问 http://ip:8099/
阿里云轻量服务器--Docker--RocketMq安装

3 参考

3.1 Docker中安装RocketMQ;
3.2 RocketMQ在Docker下的部署;文章来源地址https://www.toymoban.com/news/detail-461288.html

到了这里,关于阿里云轻量服务器--Docker--RocketMq安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云轻量应用服务器和云服务器的区别

    阿里云服务器ECS和轻量应用服务器有什么区别?云服务器ECS是明星级云服务器,轻量应用服务器可以理解为简化版的云服务器ECS,轻量适用于单机应用,云服务器ECS适用于集群类高可用高容灾应用,阿里云百科来详细说下阿里云轻量应用服务器和云服务器的区别,包括运维区

    2024年02月13日
    浏览(49)
  • 阿里云轻量应用服务器如何升级?

    对于一些小型网站、Web 应用、博客、论坛、小程序/小游戏、云端开发测试和学习环境等轻量级、低负载且访问量适中的应用场景来说,阿里云轻量应用服务器是个不错的选择。在使用过程中可能会面临升级的情况,那么轻量服务器如何升级呢? 首先打开轻量应用服务器控制

    2024年02月11日
    浏览(50)
  • 什么是阿里云轻量应用服务器?

    轻量应用服务器基于云服务器ECS的计算、存储、网络资源,并结合阿里云公共镜像和云市场镜像,为您提供了高效的应用部署方案。如果您是正在了解云计算服务的入门用户;或是需要在服务器中部署简单应用的个人开发者、中小企业,那么推荐您选择轻量应用服务器。 选用

    2024年01月25日
    浏览(42)
  • 阿里云服务器安装部署Docker使用教程

    本文阿里云百科分享如何在云服务ECS实例上,部署并使用Docker。Docker是一款开源的应用容器引擎,具有可移植性、可扩展性、高安全性和可管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中,快速发布到Linux机器上并实现虚拟化,实现更高效地构建、部

    2024年02月09日
    浏览(43)
  • 阿里云轻量应用服务器和ECS云服务器区别(官方文档)

    阿里云轻量应用服务器和ECS云服务器有啥区别?轻量应用服务器是轻量级服务器,轻量适合个人开发者或中小企业使用,清理使用简单、可视化运维更容易上手;ECS云服务器专业级服务器,适合企业级应用,通用型、计算型、大数据型、弹性裸金属服务器、GPU/FPGA/NPU异构计算

    2024年02月21日
    浏览(50)
  • 阿里云轻量应用服务器和云服务器有什么区别?2023更新

    阿里云轻量应用服务器和云服务器ECS有什么区别?ECS是专业级云服务器,轻量应用服务器是轻量级服务器,轻量服务器使用门槛更低,适合个人开发者或中小企业新手使用,可视化运维,云服务器ECS适合集群类、高可用、高容灾企业级架构,使用相对于轻量更复杂一些,云服

    2024年02月12日
    浏览(37)
  • 使用Docker安装运行RabbitMQ---阿里云服务器

    目录 0、阿里云没开端口的得要去安全组规则去添加: 1、下载RabbitMQ镜像: 2、查看镜像是否下载成功,得到docker镜像id: 3、运行RabbitMQ: 4、查看RabbbitMQ容器是否启动成功: 5、启动RabbitMQ中的插件管理 6、访问RabbitMQ的web配置界面 7、运行成功 0、阿里云没开端口的得要去安全

    2024年03月12日
    浏览(51)
  • 【云原生】Docker入门 -- 阿里云服务器环境下安装Docker

    📢📢📢📣📣📣 哈喽!大家好 ,我是【 Bug 终结者 】 ,【CSDNJava领域优质创作者】🏆,阿里云受邀专家博主🏆,51CTO人气博主🏆 . 一位上进心十足,拥有极强学习力的【 Java领域博主 】😜😜😜 🏅【Bug 终结者】博客的领域是【面向后端技术】的学习,未来会持续更新更

    2024年02月05日
    浏览(37)
  • 阿里云ECS和轻量服务器有什么区别?

    阿里云服务器ECS和轻量应用服务器有什么区别?轻量和ECS优缺点对比, 云服务器ECS是明星级云产品,适合企业专业级的使用场景,轻量应用服务器是在ECS的基础上推出的轻量级云服务器,适合个人开发者单机应用访问量不高的网站博客、云端学习测试环境等 ,阿里云百科a

    2024年02月07日
    浏览(41)
  • 阿里云轻量应用服务器流量用完了怎么办?

    阿里云轻量应用服务器的每个套餐配置里都对应的流量,很多人都有这个疑问,如果我流量用完了怎么办?服务器就停了吗?还是怎么样?其实不用担心,如果轻量服务器当月的流量用完了,我们有3种解决方法: 第一种:升级轻量应用服务器的套餐 比如说我们开始买的是

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包