大漠知秋的加油站

  • 首页
大漠知秋的加油站
你就当我的烂笔头吧
Linux

CentOS RabbitMQ 集群安装

基础信息 服务器信息 OS IP hostname CentOS 7.9 192.168.22.202 rabbit1 CentOS 7.9 192.168.22.203 rabbit2 CentOS 7.9 192.168.22.204 rabbit3 hosts 三台机器都如下配置: 192.168.22.202 rabbit1 192.168.22.203 rabbit2 192.168.22.204 rabbit3 每台机器还可以配上自己对应的 hosts,比如在 192.168.22.202 上: 127…

2022年7月7日 0条评论 2点热度 0人点赞 大漠知秋 阅读全文
Linux

CentOS yum 安装 RabbitMQ

官方的一些文档 Erlang 与 RabbitMQ 版本对照 官方安装说明 官方推荐的安装方式:推荐 安装 安装依赖 $ yum install socat logrotate -y 安装 gpgkey 密钥 $ rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc $ rpm --import https://packagecloud.io/rabbi…

2022年7月7日 0条评论 0点热度 0人点赞 大漠知秋 阅读全文
Java

SpringBoot AMQP

SpringBoot 的支持 SpringBoot 已经提供了对 AMQP 协议完全支持的 spring-boot-starter-amqp 依赖,引入此依赖即可快速方便的在 SpringBoot 中使用 RabbitMQ。参考:Spring AMQP。 特点 用于异步处理消费消息的监听器容器。 用于发送和接收消息的 RabbitTemplate。 RabbitAdmin 用于自动声明队列、交换和绑定。 RabbitAdmin 作用 declareExchange:创建交换机。 deleteExchange:删除交…

2022年7月7日 0条评论 0点热度 0人点赞 大漠知秋 阅读全文
Java

死信队列机制

简介 什么是死信队列?其本质也是一个队列,只是配置上了一个 Dead-Letter-Exchange 属性。 什么是死信?死信其实也可以理解为普通的的消息,只是在以下几种情况会称为死信。 消息 TTL 过期时。 被 Nack/Reject 并且 requeue = false 时。 队列达到最大长度(超过 Max length 时)。 死信队列工作原理 死信队列中成为死信的消息会转发到普通的交换机中(起名带有 dlx 关键字,是为了方便知道这个是用来接收死信用的),再路由到一个普通的队列(起名同交换机)中,最后再由…

2022年7月6日 0条评论 1点热度 0人点赞 大漠知秋 阅读全文
Java

消息过期机制

简介 设想一下只有生产者,而没有消费者的时候或者消费者处理能力比生产能力弱 N 倍的时候,RabbitMQ 上就会堆积大量消息,几万、几十万、几百万。那 RabbitMQ 所在机器的内存、硬盘等硬件资源也是有限的,超过负荷就会出现崩溃的现象,导致消息丢失。 针对这个问题 RabbitMQ 提供了消息过期机制 TTL(Time to Live)。简单理解就是超过一定时间没有被消费的消息,就过期了,要扔掉。 消息 TTL 消息本身有一个过期时间,每个消息之间是不一样的。 队列 TTL 进入队列的所有消息都具有一个固定的…

2022年7月6日 0条评论 0点热度 0人点赞 大漠知秋 阅读全文
Java

消费者限流机制

简介 默认情况下,消费者并不是处理一条消息,RabbitMQ Server 再从 Queue 中推送一条继续处理。而是一下子尽可能的投送更多,缓存到到本地内存中等待处理。 比如 Queue 中存在 10W 条数据,消费者会一边处理一条,一边会进行缓存后续推送的 N 条,而这缓存的 N 条有可能会造成 OOM 或者其他故障。 消费者处理不了的场景 生产者发送速率高,消费者消费速率低。如:生产者每秒钟生产 1000 条消息,消费者每5秒才能处理一条消息,一段时间后,消费者 OOM。 生产者已启动一定时间,消费者没启动,…

2022年7月6日 0条评论 1点热度 0人点赞 大漠知秋 阅读全文
Java

RabbitMQ 消息百分百投递方案

简介 如上图所示,从 Publisher 开始,发送一个消息并指定 Routing key,经由 Connection 中的 Channel 到达对应的 Exchange,消息到达 Exchange 之后根据 Routing Key 路由到对应的 Queue。消息再从 Queue 中经由 Consumer 端的 Connection 中的 Channel 到达对应的 Consumer。 Publisher: 消息的生产方。 消息: 一条消息想要发送到 RabbitMQ Server,需要指定 Exchange 和 …

2022年7月6日 0条评论 2点热度 0人点赞 大漠知秋 阅读全文
C++

二分查找

二分查找 基础二分实现查找实现与动画 template<typename T> int binarySearch(T arr[], int len, T target) { int l = 0, r = len - 1; while (l <= r) { // 求中值 int mid = l + ((r - l) >> 1); if (arr[mid] == target) { return mid; } if (arr[mid] > target) { r = mid - 1;…

2022年6月9日 0条评论 80点热度 0人点赞 大漠知秋 阅读全文
C++

二叉堆

二叉堆 简介 二叉堆(英语:binary heap)是一种特殊的堆,二叉堆是完全二叉树。二叉堆满足堆特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆。 当父节点的值总是大于或等于任何一个子节点的值时为「最大堆」。当父节点的值总是小于或等于任何一个子节点的值时为「最小堆」。 完全二叉树:一棵深度为 k 的有 n 个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为 i (1 ≤ i ≤ n)的结点与满二叉树中编号为 i 的结点在二叉树中的位置…

2022年6月9日 0条评论 101点热度 0人点赞 大漠知秋 阅读全文
Linux

CentOS 7 yum 安装 MySQL

操作全以 root 用户权限 清理 mariadb # 查询存在的 $rpm -qa | grep mariadb mariadb-libs-5.5.68-1.el7.x86_64 # 卸载。-e: 清除 (卸载) 软件包。--nodeps: 不验证软件包依赖 rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 清理 MySQL 如果需要卸载旧的 MySQL,可以使用下方的步骤,注意备份数据。 $ rpm -qa | grep mysql mysql-community…

2022年5月14日 0条评论 200点热度 1人点赞 大漠知秋 阅读全文
12345…24
分类
  • C++ / 11篇
  • Develop Software / 3篇
  • Docker CE / 23篇
  • Elasticsearch / 3篇
  • FastDFS / 1篇
  • Git / 2篇
  • GitLab / 5篇
  • Golang / 21篇
  • Http Client 4.5.2 / 2篇
  • Java / 14篇
  • Kubernetes / 19篇
  • Linux / 64篇
  • Mac / 4篇
  • Maven / 1篇
  • MyBatis / 1篇
  • MySQL / 8篇
  • Nginx / 6篇
  • Rabbit MQ / 10篇
  • Redis / 1篇
  • Spring / 1篇
  • Spring Boot / 12篇
  • Spring Cloud Finchley.RELEASE / 50篇
  • Sublime / 2篇
  • Windows / 1篇
  • 吉他 / 2篇
  • 图论 / 8篇
  • 数据结构与算法 / 11篇
  • 未分类 / 1篇

COPYRIGHT © 2022 大漠知秋的加油站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang