RabbitMQ的安装

news2024/9/25 12:59:32

RabbitMQ的安装

1、Windows环境下的RabbitMQ安装步骤

使用的版本:otp_win64_23.2 + rabbitmq-server-3.8.16

版本说明:https://www.rabbitmq.com/which-erlang.html#compatibility-matrix

1.1 下载并安装erlang

RabbitMQ 服务端代码是使用并发式语言 Erlang 编写的,安装 RabbitMQ 的前提是安装 Erlang。

下载地址:

http://www.erlang.org/downloads

在这里插入图片描述

https://www.erlang.org/patches/otp-23.2

在这里插入图片描述

根据操作系统选择 erlang 下载版本。

下载完的软件包:

在这里插入图片描述

双击软件点击下一步进行安装,和平时使用的软件的安装方式是一样的。

安装完之后配置环境变量,此电脑–>鼠标右键属性–>高级系统设置–>环境变量–>新建系统环境变量。

变量名:ERLANG_HOME

变量值就是刚才 erlang 的安装地址,点击确定。

在这里插入图片描述

然后编辑系统变量 path,将 %ERLANG_HOME%\bin 加入到 path 中。

在这里插入图片描述

最后 windows 键 +R 键,输入 cmd,再输入 erl,看到版本号就说明 erlang 安装成功了。
在这里插入图片描述

1.2 下载并安装RabbitMQ

下载地址:http://www.rabbitmq.com/download.html

在这里插入图片描述

这里下载 v3.8.16 版本:

https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.16/rabbitmq-server-3.8.16.exe

在这里插入图片描述

双击下载后的 .exe 文件,安装过程与 erlang 的安装过程相同。

RabbitMQ 安装目录中是不允许有空格的。

RabbitMQ 安装好后接下来安装 RabbitMQ-Plugins,打开命令行 cd,输入 RabbitMQ 的 sbin 目录。

我的目录是:C:\zsxsoftware\rabbitmq\rabbitmq_server-3.8.16\sbin

然后在后面输入 rabbitmq-plugins enable rabbitmq_management 命令进行安装:

在这里插入图片描述

输入 rabbitmqctl status,如果出现以下的图,说明安装是成功的,并且说明现在 RabbitMQ Server 已经启动

了,运行正常。

在这里插入图片描述

打开 sbin 目录,双击 rabbitmq-server.bat

等几秒钟看到这个界面后,访问 http://localhost:15672

然后可以看到如下界面:

在这里插入图片描述

默认用户名和密码都是 guest,登陆即可:

在这里插入图片描述

1.3 安装遇到的问题

rabbitmq-plugins enable rabbitmq_management 命令执行错误:

rabbitmq-service stop
rabbitmq-service remove
rabbitmq-service install
rabbitmq-plugins enable rabbitmq_management

rabbitmqctl status 命令执行错误:

Error: unable to perform an operation on node 'rabbit@DESKTOP-8VB0JLG'. Please see diagnostics information and suggestions below.

1、将C:\Users\{用户名}\.erlang.cookie 复制到 C:\Windows\System32\config\systemprofile 目录。

2、重启 rabbitMQ 服务。

1.4 配置允许远程访问

更多情况下,队列服务往往不在我们本机上,我们需要远程来控制 RabbitMQ,但是默认是无法通过

http://hostname:15672 来访问的:

在这里插入图片描述

添加一个新的用户:

在这里插入图片描述

在这里插入图片描述

点击 zsx242030 用户:

在这里插入图片描述

点击 set permission 赋予权限。

在这里插入图片描述

使用 rabbitmqctl list_users 查看用户信息:

在这里插入图片描述

然后使用新建的用户尝试登录:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.5 RabbitMQ常用的命令

# 停止服务
rabbitmq-service stop
# 安装服务
rabbitmq-service install
# 开启服务
rabbitmq-service start
# 查看用户信息
rabbitmqctl list_users

在这里插入图片描述

# guest密码忘记,更改密码
rabbitmqctl change_password guest guest
# 设置用户为超级管理员
rabbitmqctl set_user_tags guest administrator
# 赋予权限
rabbitmqctl set_permissions -p / guest '.*' '.*' '.*'

在这里插入图片描述

2、Linux环境下的RabbitMQ安装步骤

使用的版本:otp_src_22.3.tar.gz + rabbitmq-server-generic-unix-3.7.15.tar.xz

2.1 安装erlang

由于 rabbitmq 是基于 erlang 语言开发的,所以必须先安装 erlang。

安装依赖:

$ yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

去 erlang 官网下载安装包上传到 linux 服务器。

https://www.erlang.org/downloads

或者使用 wget 命令下载:

$ wget http://erlang.org/download/otp_src_22.3.tar.gz

解压:

$ tar -zxvf otp_src_22.3.tar.gz

移走:

$ mv otp_src_22.3 /usr/local/

切换目录:

$ cd /usr/local/otp_src_22.3/

创建即将安装的目录:

$ mkdir ../erlang

配置安装路径:

$ ./configure --prefix=/usr/local/erlang

在这里插入图片描述

如果遇到这个错你就假装没看到:
在这里插入图片描述

安装:

$ make install

在这里插入图片描述

查看一下是否安装成功:

$ ll /usr/local/erlang/bin

在这里插入图片描述

添加环境变量:

$ echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

刷新环境变量:

$ source /etc/profile

甩一条命令:

$ erl

在这里插入图片描述

在里面输入 halt(). 命令退出来(那个点号别忘记)

在这里插入图片描述

2.2 安装RabbitMQ

使用下面命令下载 rabbitmq 或者是下载好之后上传到 linux 服务器。

$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz

由于是 tar.xz 格式的所以需要用到 xz,没有的话就先安装:

$ yum install -y xz

第一次解压:

$ /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz

第二次解压:

$ tar -xvf rabbitmq-server-generic-unix-3.7.15.tar

移走:

$ mv rabbitmq_server-3.7.15/ /usr/local/

改名:

$ mv /usr/local/rabbitmq_server-3.7.15  /usr/local/rabbitmq

配置环境变量

$ echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

刷新环境变量

$ source /etc/profile

2.3 启动

启动:

$ rabbitmq-server -detached

在这里插入图片描述

编辑 /etc/hosts 文件,在文件的末尾加一条 127.0.0.1 zsx 即可。

重新启动:

在这里插入图片描述

在这里插入图片描述

状态:

$ rabbitmqctl status

在这里插入图片描述

停止:

$ rabbitmqctl stop

在这里插入图片描述

2.4 WEB管理

开启web插件

$ rabbitmq-plugins enable rabbitmq_management

在这里插入图片描述

开放 15672 端口:

# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=15672/tcp --permanent
# 重启防火墙 
firewall-cmd --reload

访问:http://192.168.94.186:15672/

在这里插入图片描述

默认账号密码(这个账号只允许本机访问):guest/guest

2.5 用户管理

查看所有用户:

$ rabbitmqctl list_users

在这里插入图片描述

添加一个用户:

$ rabbitmqctl add_user zsx242030 zsx242030

配置权限:

$ rabbitmqctl set_permissions -p "/" zsx242030 ".*" ".*" ".*"

在这里插入图片描述

查看用户权限:

$ rabbitmqctl list_user_permissions zsx242030

在这里插入图片描述

设置 tag:

$ rabbitmqctl set_user_tags zsx242030 administrator

在这里插入图片描述

删除用户(安全起见,删除默认用户)

$ rabbitmqctl delete_user guest

2.6 登陆

配置好用户之后然后就可以用新账号进行登陆:

在这里插入图片描述

3、Docker安装RabbitMQ

3.1 搜索镜像

$ docker search rabbitmq

在这里插入图片描述

3.2 拉取镜像

$ docker pull rabbitmq:3.7.15

在这里插入图片描述

3.3 启动运行

$ docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --hostname myRabbit --name rabbitmq --restart=always rabbitmq:3.7.15

参数说明:

-d:表示在后台运行容器;

-p:将容器的端口 5672(应用访问端口)和15672(控制台Web端口号)映射到主机中;

-e:指定环境变量:

  • RABBITMQ_DEFAULT_VHOST:默认虚拟机名;

  • RABBITMQ_DEFAULT_USER:默认的用户名;

  • RABBITMQ_DEFAULT_PASS:默认的用户密码;

--hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的节点名称存储数据,默认为主机名);

--name:设置容器名称;

rabbitmq:3.7.15:容器使用的镜像名称;

在这里插入图片描述

3.4 查看启动情况

$ docker logs -f rabbitmq

在这里插入图片描述

$ docker ps -l

在这里插入图片描述

3.5 启动 rabbitmq_management

$ docker exec -it rabbitmq /bin/bash
$ rabbitmq-plugins enable rabbitmq_management

在这里插入图片描述

或者是通过下面命令:

$ docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management

3.6 访问 RabbitMQ后台管理

浏览器输入地址:http://192.168.94.186:15672/ 即可访问后台管理页面,这里的 ip 为运行 RabbitMQ 所

在的服务器的 IP 地址。

默认的用户名和密码都是 guest (如果没有在容器创建的时候指定用户名密码)。

但由于我们启动的时候设置了默认的用户名和密码,所以我们可以使用设置的用户名和密码登录。

在这里插入图片描述

在这里插入图片描述

4、镜像集群搭建

4.1 搭建环境

IP主机
192.168.54.200master
192.168.54.201slave1
192.168.54.202slave2
$ vi /etc/hosts
192.168.54.200 master
192.168.54.201 slave1
192.168.54.202 slave2

使用的版本:otp_src_22.3.tar.gz + rabbitmq-server-generic-unix-3.7.15.tar.xz

4.2 安装erlang(所有机器)

由于 rabbitmq 是基于 erlang 语言开发的,所以必须先安装 erlang。

安装依赖:

$ yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

去 erlang 官网下载安装包上传到 linux 服务器:

http://erlang.org/download/otp_src_22.3.tar.gz

解压:

$ tar -zxvf otp_src_22.3.tar.gz

移走:

$ mv otp_src_22.3 /usr/local/

切换目录:

$ cd /usr/local/otp_src_22.3/

创建即将安装的目录:

$ mkdir ../erlang

配置安装路径:

$ ./configure --prefix=/usr/local/erlang

安装:

$ make install

查看一下是否安装成功:

$ ll /usr/local/erlang/bin

添加环境变量:

$ echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

刷新环境变量:

$ source /etc/profile

甩一条命令:

$ erl

在里面输入 halt(). 命令退出来(那个点号别忘记)

4.3 安装RabbitMQ(所有机器)

将下载好之后的软件上传到 linux 服务器:

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz

由于是 tar.xz 格式的所以需要用到 xz,没有的话就先安装:

$ yum install -y xz

第一次解压:

$ /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz

第二次解压:

$ tar -xvf rabbitmq-server-generic-unix-3.7.15.tar

移走:

$ mv rabbitmq_server-3.7.15/ /usr/local/

改名:

$ mv /usr/local/rabbitmq_server-3.7.15  /usr/local/rabbitmq

配置环境变量:

$ echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

刷新环境变量:

$ source /etc/profile

启动:

$ rabbitmq-server -detached

查看启动状态:

$ ps -ef | grep rabbitmq

状态:

$ rabbitmqctl status

停止:

$ rabbitmqctl stop

4.4 WEB管理(所有机器)

开启 web 插件:

$ rabbitmq-plugins enable rabbitmq_management

开放 15672 端口:

# 查看开放的端口号 
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port=15672/tcp --permanent
# 重启防火墙 
firewall-cmd --reload

访问:http://ip:15672/

默认账号密码(这个账号只允许本机访问):guest/guest

4.5 用户管理(所有机器)

查看所有用户:

$ rabbitmqctl list_users

添加一个用户:

$ rabbitmqctl add_user zsx242030 zsx242030

配置权限:

$ rabbitmqctl set_permissions -p "/" zsx242030 ".*" ".*" ".*"

查看用户权限:

$ rabbitmqctl list_user_permissions zsx242030

设置 tag:

$ rabbitmqctl set_user_tags zsx242030 administrator

删除用户(安全起见,删除默认用户)

$ rabbitmqctl delete_user guest

4.6 镜像模式集群的搭建

4.6.1 停止RabbitMQ服务(所有机器)

$ rabbitmqctl stop

4.6.2 拷贝.erlang.cookie(master机器)

官方在介绍集群的文档中提到过 .erlang.cookie 一般会存在这两个地址:

第一个是 ~/.erlang.cookie

第二个地方就是 /var/lib/rabbitmq/.erlang.cookie

本文的地址在 ~/.erlang.cookie

$ scp /root/.erlang.cookie root@slave1:/root/
$ scp /root/.erlang.cookie root@slave2:/root/

4.6.3 启动RabbitMQ服务

顺带启动 Erlang 虚拟机和 RabbitMQ 应用服务,在 master、slave1、slave2 执行命令:

$ rabbitmq-server -detached

4.6.4 节点加入

RabbitMQ 集群的搭建需要选择其中任意一个节点为基准,将其它节点逐步加入。这里我们以 master 为基准节

点,将 slave1 和 slave2 加入集群。在 slave1 和 slave2 上执行以下命令:

# 1.停止服务
rabbitmqctl stop_app
# rabbitmqctl stop会将Erlang虚拟机关闭,rabbitmqctl stop_app只关闭RabbitMQ服务

# 2.重置状态
rabbitmqctl reset

# 3.节点加入,在一个node加入cluster之前,必须先停止该node的rabbitmq应用,即先执行stop_app
# slave1加入master,slave2加入master
rabbitmqctl join_cluster rabbit@master

# 4.启动服务
rabbitmqctl start_app

4.6.5 查看集群状态

此时可以在任意节点上使用 rabbitmqctl cluster_status 命令查看集群状态,输出如下:

[root@master ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@master ...
[{nodes,[{disc,[rabbit@master,rabbit@slave1,rabbit@slave2]}]},
 {running_nodes,[rabbit@slave2,rabbit@slave1,rabbit@master]},
 {cluster_name,<<"rabbit@master">>},
 {partitions,[]},
 {alarms,[{rabbit@slave2,[]},{rabbit@slave1,[]},{rabbit@master,[]}]}]
[root@slave1 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbit@slave1 ...
[{nodes,[{disc,[rabbit@master,rabbit@slave1,rabbit@slave2]}]},
 {running_nodes,[rabbit@slave2,rabbit@master,rabbit@slave1]},
 {cluster_name,<<"rabbit@master">>},
 {partitions,[]},
 {alarms,[{rabbit@slave2,[]},{rabbit@master,[]},{rabbit@slave1,[]}]}]
[root@slave2 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbit@slave2 ...
[{nodes,[{disc,[rabbit@master,rabbit@slave1,rabbit@slave2]}]},
 {running_nodes,[rabbit@master,rabbit@slave1,rabbit@slave2]},
 {cluster_name,<<"rabbit@master">>},
 {partitions,[]},
 {alarms,[{rabbit@master,[]},{rabbit@slave1,[]},{rabbit@slave2,[]}]}]

4.6.6 UI 界面查看

在这里插入图片描述

4.6.7 配置镜像模式

在任意节点执行即可:

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

4.6.8 从集群中移除节点

1、在需要移除的节点上执行停止命令

rabbitmqctl stop_app

2、在其他节点上执行移除节点命令

rabbitmqctl forget_cluster_node rabbit@slave2

–offline 参数,它允许节点在自身没有启动的情况下将其他节点剔除。

4.6.9 解除集群

重置当前节点:

# 1.停止服务
rabbitmqctl stop_app

# 2.重置集群状态
rabbitmqctl reset

# 3.重启服务
rabbitmqctl start_app

重新加入集群:

# 1.停止服务
rabbitmqctl stop_app

# 2.重置状态
rabbitmqctl reset

# 3.节点加入
rabbitmqctl join_cluster rabbit@node1

# 4.重启服务
rabbitmqctl start_app

4.6.10 变更节点类型

# 1.停止服务
rabbitmqctl stop_app

# 2.变更类型,有两种类型ram和disc
# 我们可以将节点的类型从RAM更改为Disk
rabbitmqctl change_cluster_node_type disc

# 3.重启服务
rabbitmqctl start_app

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/838544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8.5作业

要求实现AB进程对话 a.A进程先发送一句话给B进程&#xff0c;B进程接收后打印 b.B进程再回复一句话给A进程&#xff0c;A进程接收后打印 c.重复1.2步骤&#xff0c;当收到quit后&#xff0c;要结束AB进程 A进程 #include<stdio.h> #include<string.h> #include&…

Linux文本三剑客---grep、sed、awk

目录标题 1、grep1.1 命令格式1.2命令功能1.3命令参数1.4grep实战演练 2、sed2.1 认识sed2.2命令格式2.3常用选项options2.4地址定界2.5 编辑命令command2.6用法演示2.6.1常用选项options演示2.6.2地址界定演示2.6.3编辑命令command演示 3、awk3.1认识awk3.2常用命令选项3.3awk…

中国中医中药元宇宙 中药材价格缘何“狂飙”

◇相比去年同期&#xff0c;有超200个常规品种涨幅高于50%&#xff0c;25个常用大宗药材涨幅超200%&#xff0c;个别品种甚至涨价4至9倍 ◇在中药材价格普遍高涨的情况下&#xff0c;部分市场仓库库存数量也较多&#xff0c;出现囤积居奇倾向 ◇“不少游资和热钱涌入中药材市场…

MyBatis查询数据库之一(概念+创建项目+基础交互)

目录 1.MyBatis是什么&#xff1f; 2.为什么学习MyBatis&#xff1f; 3. 怎么学 MyBatis 4.第⼀个MyBatis查询 4.1 添加MyBatis框架支持 4.1.1老项目添加MyBatis 4.1.2 新项目添加MyBatis 4.2 配置连接字符串和MyBatis 4.2.1 配置连接字符串 4.2.2 配置 MyBatis 中的…

小白电脑装机(自用)

几个月前买了配件想自己装电脑&#xff0c;结果最后无法成功点亮&#xff0c;出现的问题是主板上的DebugLED黄灯常亮&#xff0c;即DRAM灯亮。对于微星主板的Debug灯&#xff0c;其含义这篇博文中有说明。 根据另一篇博文&#xff0c;有两种可能。 我这边曾将内存条和主板一块…

设计模式之模板方法

一、概述 定义一个操作中的算法的骨架&#xff0c;将一些步骤延迟到子类中。 TemplateMethod使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 二、适用性 1.一次性实现一个算法的不变的部分&#xff0c;并将可变的行为留给子类来实现。 2.各子类中公共…

数据库与数据仓库的区别及关系

数据库与数据仓库的区别及关系 数据库数据仓库异同差异联系例子 数据库 数据库是结构化信息或数据的有序集合&#xff0c;一般以电子形式存储在计算机系统中。通常由数据库管理系统 (DBMS) 来控制。它是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集…

vue v-slot指令

目录 定义语法使用场景场景一场景二场景三tips只有一个默认插槽时 定义 在Vue中&#xff0c; v-slot 指令用于定义插槽的模板内容。它用于在父组件中传递内容到子组件中的插槽。 v-slot 指令可以用于 标签或组件标签上&#xff0c;以便在子组件中使用插槽。 语法 使用 v-slo…

记录--基于css3写出的流光登录(注释超详细!)

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 完整效果 对基本的表单样式进行设置 这里设置了基本的表单样式&#xff0c;外层用了div进行包裹&#xff0c;重点是运用了两个i元素在后期通过css样式勾画出一条线没在聚焦文本框的时候线会过度成一个…

【Spring框架】Spring事务

目录 Spring中事务的实现编程式事务声明式事务Transactional 作⽤范围Transactional 参数说明注意事项Transactional ⼯作原理 MySQL 事务隔离级别Spring 事务隔离级别事务传播机制 Spring中事务的实现 Spring中事务操作分为两类&#xff1a; 1.编程式事务 2.声明式事务 编程…

c语言小知识点

文章目录 int main()与int main(void)符号常量常变量无符号赋值将占字节多的赋值给字节少的类型赋初值 表达式预处理格式符e格式符 循环for 输入长度相关输出文件管理 int main()与int main(void) int main(void) 指的是此函数的参数为空&#xff0c;不能传入参数&#xff0c;…

Streamlit的第一个应用(二)

文章目录 1 前言2 创建第一个应用 &#x1f4dd;&#x1f680;3 获取数据 &#x1f4e6;&#x1f50d;4 函数缓存&#x1f680;&#x1f50d;&#x1f4ca;5 赏析原始数据 ✨&#x1f389;6 绘制直方图 &#x1f4ca;✨7 所有乘车点的地图 &#x1f30d;&#x1f696;8 完整代码…

Linux修改系统语言

sudo dpkg-reconfigure locales 按pagedown键&#xff0c;移动红色光标到 zh_CN.UTF-8 UTF-8&#xff0c;空格标记*号&#xff08;没标记下一页没有这一项&#xff09;&#xff0c;回车。 下一页选择 zh_CN.UTF-8。 如果找不到 dpkg-reconfigure whereis dpkg-reconfigure …

手机变电脑2023之虚拟电脑droidvm

手机这么大的内存&#xff0c;装个app来模拟linux&#xff0c;还是没问题的。 app 装好后&#xff0c;手指点几下确定按钮&#xff0c;等几分钟就能把linux桌面环境安装好。 不需要敲指令&#xff0c; 不需要对手机刷机&#xff0c; 不需要特殊权限&#xff0c; 不需要找驱…

第二十二章 原理篇:UP-DETR

最近一直在忙各种各样的面试&#xff0c;顺便重新刷了一遍西瓜书。 感觉自己快八股成精了&#xff0c;但是一到写代码的环节就拉跨&#xff0c;人真是麻了。 许愿搬家前可以拿到offer&#xff01; 参考教程&#xff1a; https://arxiv.org/pdf/2011.09094.pdf https://zhuanla…

第一百二十二天学习记录:C++提高:STL-vector容器(上)(黑马教学视频)

vector基本概念 功能&#xff1a; vector数据结构和数组非常相似&#xff0c;也称为单端数组 vector与普通数组区别&#xff1a; 不同之处在于数组是静态空间&#xff0c;而vector可以动态扩展 动态扩展&#xff1a; 并不是在原空间之后续接新的空间&#xff0c;而是找更大的内…

荐读 | 《揭秘云计算与大数据》

当我们回顾过去几十年的科技进步时&#xff0c;云计算和大数据在现代科技发展史上无疑具有里程碑式的意义&#xff0c;它们不仅改变了我们的生活方式&#xff0c;而且对各行各业产生了深远的影响。 在这个数字化时代&#xff0c;云计算和大数据技术已经成为推动全球发展的关键…

Java:如何破坏类加载器的双亲委派机制?

本文重点 我们前面分析过loadClass方法,我们可以发现,这个方法的逻辑就是双亲委派机制,也就是说只要不破坏这个方法,那么就不会破坏双亲委派机制。如果要想破坏双亲委派机制,我们需要在类中重写loadClass方法,只要这样,那么就不会走双亲委派机制了。 破坏还是不破坏双…

【GitOps系列】使用 ArgoCD ApplicationSet 来实现多环境管理

文章目录 前言自动多环境管理概述自动化管理多环境实战示例应用简介ApplicationSet 简介部署 ApplicationSet访问多环境 创建新环境实验结语 前言 聊起多环境&#xff0c;通常可能会立即想到下面几个常见的环境&#xff1a; 开发环境测试环境预发布环境生产环境 为了让不同职…

TikTok运营五个要点,这些你都知道吗?

TikTok也就是海外版抖音&#xff0c;和抖音一样同属于字节跳动&#xff0c;其整个发展模式也类似于抖音&#xff0c;但相比抖音现在成熟的商业模式而言&#xff0c;TikTok还处于明显的娱乐阶段&#xff0c;虽然它也在缓慢的测试一些电商。 即使如此&#xff0c;由于抖音的巨大…