云原生之使用Docker部署RabbitMQ消息中间件

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 云原生之使用Docker部署RabbitMQ消息中间件

一、RabbitMQ介绍

1.RabbitMQ简介

RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。RabbitMQ是一个开源的消息代理的队列服务器,用来通过普通协议在完全不同的应用之间共享数据。

2.RabbitMQ特点

  • 开源、性能优秀,稳定性保障
  • 提供可靠性消息投递模式、返回模式
  • 与Spring AMQP完美整合,API丰富
  • 集群模式丰富,表达式配置,HA模式,镜像队列模型
  • 保证数据不丢失的前提做到高可靠性、可用性

二、检查docker状态

[root@node ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-10-27 13:42:27 CST; 23h ago
     Docs: https://docs.docker.com
 Main PID: 58398 (dockerd)
    Tasks: 35
   Memory: 509.4M
   CGroup: /system.slice/docker.service
           ├─58398 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─58997 /usr/bin/docker-proxy -proto udp -host-ip 0.0.0.0 -host-port 30000 -container-ip 172.17.0.2 -container-port 30000
           ├─59004 /usr/bin/docker-proxy -proto udp -host-ip :: -host-port 30000 -container-ip 172.17.0.2 -container-port 30000
           ├─59696 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.3 -container-port 8080
           └─59702 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.17.0.3 -container-port 8080

Oct 27 20:12:11 node dockerd[58398]: time="2022-10-27T20:12:11.039975761+08:00" level=info msg="Download failed, retrying (3/5): Get \"https://p...
Oct 27 20:13:32 node dockerd[58398]: time="2022-10-27T20:13:32.439216385+08:00" level=info msg="Download failed, retrying (4/5): read tc...by peer"
Oct 27 20:18:35 node dockerd[58398]: time="2022-10-27T20:18:35.005006269+08:00" level=info msg="Download failed, retrying (3/5): read tc...by peer"
Oct 27 20:19:03 node dockerd[58398]: time="2022-10-27T20:19:03.572294722+08:00" level=info msg="Download failed, retrying (4/5): Get \"https://p...
Oct 27 20:30:21 node dockerd[58398]: time="2022-10-27T20:30:21.331989742+08:00" level=info msg="Download failed, retrying (4/5): read tc...by peer"
Oct 27 20:30:54 node dockerd[58398]: time="2022-10-27T20:30:54.792611068+08:00" level=info msg="Download failed, retrying (5/5): Get \"https://p...
Oct 27 20:35:45 node dockerd[58398]: time="2022-10-27T20:35:45.815030472+08:00" level=info msg="Download failed, retrying (5/5): read tc...by peer"
Oct 27 20:37:55 node dockerd[58398]: time="2022-10-27T20:37:55.378115843+08:00" level=info msg="Download failed, retrying (5/5): read tc...by peer"
Oct 27 20:45:31 node dockerd[58398]: time="2022-10-27T20:45:31.256303716+08:00" level=error msg="Download failed after 6 attempts: read ...by peer"
Oct 27 20:45:31 node dockerd[58398]: time="2022-10-27T20:45:31.257428765+08:00" level=info msg="Attempting next endpoint for pull after ...by peer"
Hint: Some lines were ellipsized, use -l to show in full.

三、下载RabbitMQ镜像

[root@node ~]# docker pull bitnami/rabbitmq
Using default tag: latest
latest: Pulling from bitnami/rabbitmq
0796bf144e3f: Pull complete 
0aa278e6d559: Pull complete 
f37134480d36: Pull complete 
3ca5a05c65cf: Pull complete 
88bb7bc42515: Pull complete 
d707818752e6: Pull complete 
b8a937a01956: Pull complete 
efb772451b7f: Pull complete 
db7fe513e59c: Pull complete 
0d37a623156d: Pull complete 
2e1d8d64104c: Pull complete 
1bc67f22006e: Pull complete 
891457114828: Pull complete 
1161d96f1d40: Pull complete 
Digest: sha256:a45676c71cf551fe942245b7ae133f9fd09f6278bb53fa98e18a00cf6abdbd90
Status: Downloaded newer image for bitnami/rabbitmq:latest
docker.io/bitnami/rabbitmq:latest

四、创建RabbitMQ容器

1.创建数据目录

[root@node ~]# mkdir -p /data/rabbitmq/data
[root@node ~]# chmod -R 777 /data/rabbitmq/data

2.运行RabbitMQ容器

[root@node rabbitmq]# docker run -d --name rabbitmq --restart always  -v /data/rabbitmq/data:/bitnami   -e RABBITMQ_USERNAME=admin -e RABBITMQ_PASSWORD=admin    -p 5672:5672 -p 15672:15672       bitnami/rabbitmq:latest
9631983cebc690761d3cda187ea85383ffef0005045e7a60e4a527ceb1c419ef


3.查看RabbitMQ容器状态

[root@node rabbitmq]# docker ps
CONTAINER ID   IMAGE                                  COMMAND                  CREATED          STATUS          PORTS                                                                                                                                               NAMES
9631983cebc6   bitnami/rabbitmq:latest                "/opt/bitnami/script…"   18 seconds ago   Up 18 seconds   4369/tcp, 5551-5552/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp   rabbitmq


五、进入RabbitMQ登录页

image.png

六、登录RabbitMQ首页

image.png

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
113 2
|
3月前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
13天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
77 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
25天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
1月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
36 6
|
2月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
2月前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
53 5
|
2月前
|
消息中间件 存储 Apache
探索 RocketMQ:企业级消息中间件的选择与应用
RocketMQ 是一个高性能、高可靠、可扩展的分布式消息中间件,它是由阿里巴巴开发并贡献给 Apache 软件基金会的一个开源项目。RocketMQ 主要用于处理大规模、高吞吐量、低延迟的消息传递,它是一个轻量级的、功能强大的消息队列系统,广泛应用于金融、电商、日志系统、数据分析等领域。
114 0
探索 RocketMQ:企业级消息中间件的选择与应用
|
3月前
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
132 1
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
2月前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####

相关产品

  • 云消息队列 MQ