首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RabbitMQ学习笔记(六)——优化RabbitMQ集群

=guest #用户名 - RABBITMQ_DEFAULT_PASS=guest #密码 - RABBITMQ_ERLANG_COOKIE='ktrabbitmq...管控台 docker exec -it rabbitmq_master_1 bash rabbitmq-plugins enable rabbitmq_management 默认用户名: guest...: K8S中的最小业务单元,内含一个或多个容器 ◆ StatefulSet: 定义一组有状态Pod,K8S将自动维护 ◆ Deployment: 定义一组无状态Pod, K8S将 自动维护 ◆ Service...: 一组Pod的抽象访问方式,相当于负载均衡器 Kubernetes搭建RabbitMQ集群的脚本 kind: Service # 相当于负载均衡层 apiVersion: v1 metadata:...,可跳过 步骤2: 删除镜像队列的配置 如果没有删除镜像队列配置,恢复过程中可能会出现队列漂移 相关命令查看这:https://www.wangt.cc/2020/12/rabbitmq常用命令/

65610
您找到你想要的搜索结果了吗?
是的
没有找到

K8S部署RabbitMQ集群 (镜像模式) - 部署笔记

单节点系统只允许磁盘类型的节点,防止重启RabbitMQ的时候,丢失系统的配置信息。 内存节点虽然不写入磁盘,但是它执行比磁盘节点要好。...RabbitMQ集群 进入RabbitMQ集群节点Pod容器,查看RabbitMQ集群状态(三个Pod查看的集群状态是一样的) 登录rabbitmq-0容器查看集群状态 [root@k8s-master01...========================= 新增一个用户 # rabbitmqctl add_user Username Password 删除一个用户 # rabbitmqctl delete_user...比如:修改guest用户密码、新增或删除一个用户 查看当前用户列表 [root@k8s-master01 deployment]# kubectl exec -ti rabbitmq-0 -n wiseco..." deleted 查看pod,发现rabbitmq-0节点删除后,重启需要耗费一段时间 [root@k8s-master01 deployment]# kubectl get pods -n wiseco

2.6K41

RabbitMQ 安装与界面管理

rabbitmq是没有安装web端的客户端插件,需要安装才可以生效 rabbitmq-plugins enable rabbitmq_management 之后重启服务 systemctl restart...:策略制定者 登录控制台,指定策略 managment 普通管理员 登录控制台 最后会进行解析以上级别 rabbitmqctl add_user admin admin #新增...Username Newpassword #修改密码 rabbitmqctl delete_user Username #删除用户 rabbitmqctl list_users...#查看用户清单 rabbitmqctl.bat set_permissions -p /用户名 ".*" "." ".*" #为用户添加资源权限 RabbitMQ用户级别 1.nono 不能访问 management...最高权限 可以创建和删除virtual hosts 可以查看创建和删除users 查看创建permisssions 关闭所有用户的connections 个人博客为: MoYu’s HomePage

1.4K20

linux系统下安装软件的命令(在linux下安装win系统)

/erlang目录查看tar包是否存在,存在则使用如下命令解压tar包,解压完后会多一个目录 cd /usr/local/erlang ls tar -zxvf otp_src_22.2.tar.gz.../rabbitmq/ 3、相关的配置 : /etc/rabbitmq/ 4、 设置的用户权限等元数据信息:/var/lib/rabbitmq/mnesia/ 如下是一些rabbitmq的简单命令 添加开机启动...-detached 停止RabbitMQ服务 rabbitmqctl stop 查看RabbitMQ服务状态 rabbitmqctl status 重启RabbitMQ服务 rabbitmq-server...角色 rabbitmqctl set_user_tags name administrator 删除角色 rabbitmqctl delete_user Username 设置权限 rabbitmqctl...public --add-port=5672/tcp --permanent //查询端口号15672或5672是否开启: firewall-cmd --query-port=15672/tcp //重启防火墙

6.6K30

RabbitMQ简介以及应用

自动删除:如果启用,那么交换器将会在其绑定的队列都被删除掉之后自动删除掉自身 2、Queue:队列,rabbitmq的内部对象,用于存储消息,其属性类似于Exchange,同样可以设置是否持久化、自动删除等...,未收到回执而断开了连接,消息会转发给其他消费者,如果忘记回执,会导致消息堆积,消费者重启后会重复消费这些消息并重复执行业务逻辑。...Message durability:消息持久化,设置消息持久化可以避免绝大部分消息丢失,比如rabbitmq服务重启,但是采用非持久化可以提升队列的处理效率。...才会删除消息,确保消息的可靠性 支持高可用集群 灵活的路由 实现思路: 用户下单成功后,rabbitmq发送一条消息至EXCHANGE.ORDER_CREATE交换器,该交换器绑定了两个队列,QUEUE.ORDER_INCREASESCORE...下单成功,开始发送rabbitmq消息 《积分系统》收到订单消息:create order success,给用户增加积分......

44020

Kubernetes 集群部署 RabbitMQ + exporter (单节点)

单节点的 RabbitMQ 部署简单,且配置存活探针,能保证快速检测 RabbitMQ 是否可用,当不可用时快速进行重启。...的服务来监控 rabbitmq 服务,我们以 sidecar 的形式和主应用部署在同一个 Pod 中,比如我们这里来部署一个 rabbitmq,并用 rabbitmq_exporter 的方式来采集监控数据供...resources:配置 CPU、Memory 资源限制,可以通过配置该值来配置 Pod 的 QoS 级别。...livenessProbe:配置存活探针,定时检测 RabbitMQ 应用运行状态,如果检测到 RabbitMQ 挂掉将进行重启操作。...readinessProbe:配置就绪探针,定时检测 RabbitMQ 应用启动状态,如果启动成功将允许流量涌入,启动失败将进行重启操作。 command:探针执行探测时执行的探测命令。

1.7K40

【Linux CentOS 7安装RabbitMQ详细教程】

选择对应的系统版本点击下载,下载后会得到.rpm文件 图片 2.2、下载Erlang RabbitMQ是采用 Erlang语言开发的,所以系统环境必须提供 Erlang环境,需要是安装 Erlang 图片...enable rabbitmq-server # 关闭rabbitmq服务 systemctl stop rabbitmq-server # 重启rabbitmq服务 systemctl restart...15672端口),就可以看到管理界面 图片 rabbitmq有一个默认的账号密码guest,但该情况仅限于本机localhost进行访问,所以需要添加一个远程登录的用户 3.2、添加远程用户 # 添加用户...rabbitmqctl add_user 用户名 密码 # 设置用户角色,分配操作权限 rabbitmqctl set_user_tags 用户名 角色 # 为用户添加资源权限(授予访问虚拟机根节点的所有权限...新密码 # 删除用户 rabbitmqctl delete_user 用户名 # 查看用户清单 rabbitmqctl list_users 参考文献: https://blog.csdn.net

1.8K20

Linux运维工程师面试题(9)

,如果容器不提供存活探针,则默认状态为 Success,livenessProbe 用户控制是否重启 pod。...readinessProbe:就绪探针,如果就绪探测失败,端点控制器将从与 Pod 匹配的所有 Service 的端点中删除Pod 的 IP 地址,初始延迟之前的就绪状态默认为 Failure,如果容器不提供就绪探针...livenessProbe 和 readinessProbe 的对比配置参数一样livenessProbe:连续探测失败会重启、重建 pod,readinessProbe 不会执行重启或者重建Pod操作...livenessProbe:连续检测指定次数失败后会将容器置于 (Crash Loop BackOff) 切不可用,readinessProbe 不会readinessProbe:连续探测失败会从 service...的 endpointd 中删除Pod,livenessProbe 不具备此功能,但是会将容器挂起 livenessProbelivenessProbe 用户控制是否重启 pod,readinessProbe

28720

如何保证消息的可靠性传输(如何处理消息丢失的问题)

confirm机制是异步的,你发送个消息之后就可以发送下一个消息,然后那个消息rabbitmq接收了之后会异步回调你一个接口通知你这个消息接收到了。...即让消息写入之后持久化到磁盘,哪怕是rabbitmq自己挂了,恢复之后会自动读取之前存储的数据,一般数据不会丢。...必须要同时设置队列以及消息这两个同时持久化才行,rabbitmq哪怕是挂了,再次重启,也会从磁盘上重启恢复queue,恢复这个queue里的数据。...三 消费端弄丢了数据 rabbitmq如果丢失了数据,主要是因为我们默认使用的是autoack,表示当消费者一收到消息就表示消费者收到了消息,消费者收到了消息就会立即从队列中删除。...但是可能消息消费的时候,刚消费(取得数据)就发送了ack,还没处理,结果进程挂了,比如重启了,rabbitmq认为你都消费了,这数据就丢了。

71820

RabbitMQ》 | 消息丢失也就这么回事

其实就是持久化 的概念,当消息已经成功发送到 queue 时,这个时候如果消费者没有及时进行消费,rabbitMQ 又刚好宕机重启了,那么这个时候就会发现消息丢失了。...需要在业务代码结束后,调用 api 发送 ack auto:自动 ack,由 spring 监测 listener 代码是否出现异常,没有异常则返回 ack,反之返回 nack none:关闭 ack,MQ 在消息投递后会立即删除消息...上述三种方式都是通过修改配置文件: 1)manual 该方式需要用户自己手动确认,灵活性较好 这个时候如果执行逻辑是正常的,那么在 RabbitMQ 上就会将该消息删除,但是如果执行的逻辑抛出了异常...而且我们回到 RabbitMQ 控制台可以看到对应消息被删除了,说明最后 SpringAMQP 返回的是 ack,导致消息被 MQ 删除 但是这种处理方式并不优雅,重试后直接删除消息过于 暴力,那么有没有更好的处理方式...具体使用方式如下: 通过自定义异常处理后,我们重启项目查看控制台: 可以发现重试3次后,我们的异常消息进入到了我们自定义的异常队列中 3)none 该方式没啥好讲的~ 无论消息异常与否 MQ 都会进行删除

2.2K20

Pod 的健康检查-探针

如果就绪探测失败,端点控制器将从与 Pod 匹配的所有 Service 的端点中删除Pod 的 IP 地址。...的实时状态: ​经过一段时间等待,我们发现 liveness-exec-pod 出现了重启的现象,这是因为,在我们创建这个 Pod 的时候,我们会在 /tmp 下创建一个 live 的文件,60 秒以后会将其删除...,当进行存活检测的时候发现该文件没有了,那么 Pod 认为里面的容器死亡了,就会重启,那么就会重新执行一遍 yaml 文件内的配置,这个时候 live 文件又存在了,但是 60 秒以后,又会被删除,就会在重启一遍...index.html 文件删除掉,我们在进行查看 Pod 的状态: 经过一段时间等待,我们发现 liveness-httpget-pod 出现了重启的现象,这是因为,当我们手动删除了 index.html...文件后,当进行存活检测的时候发现该文件没有了,那么 Pod 认为里面的容器死亡了,就会重启,那么就会重新执行一遍 yaml 文件内的配置,这个时候 index.html 文件又存在了,如果我们再次删除该文件

61810

k8s使用Job执行任务失败怎么办

查看 Pod 的状态: 可以看到有多个 Pod,状态均不正常。kubectl describe pod 查看某个 Pod 的启动日志: ? 日志显示没有可执行程序,符合我们的预期。...为什么 kubectl get pod 会看到这么多个失败的 Pod?...原因是:当第一个 Pod 启动时,容器失败退出,根据 restartPolicy: Never,此失败容器不会被重启,但 Job DESIRED 的 Pod 是 1,目前 SUCCESSFUL 为 0,...对于我们这个例子,SUCCESSFUL 永远也到不了 1,所以 Job controller 会一直创建新的 Pod,直到设置的数量,失败后pod不会自动被删除,为了终止这个行为,只能删除 Job,pod...这里只有一个 Pod,不过 RESTARTS 在不断增加,说明 OnFailure 生效,容器失败后会自动重启。 ? 6次失败后,pod删除: ?

3.8K20

k8s(六)k8s生命周期和调度

创建和终止 Pod的创建过程 用户通过kubectl或其他的api客户端提交需要创建的Pod信息给API Server。...Pod的终止过程 用户向API Server发送删除Pod对象的命令。 API Server中的Pod对象信息会随着时间的推移而更新,在宽限期内(默认30s),Pod被视为dead。...如果当前Pod对象定义了preStop钩子处理器,则在其标记为terminating后会以同步的方式启动执行。 Pod对象中的容器进程收到停止信号。...kubectl请求API Server将此Pod资源的宽限期设置为0从而完成删除操作,此时Pod对于用户已经不可用了。...默认是1 重启策略 在容器探测中,一旦容器探测出现了问题,kubernetes就会对容器所在的Pod进行重启,其实这是由Pod重启策略决定的,Pod重启策略有3种,分别如下: Always:容器失效时

95120
领券