大漠知秋的加油站

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

图论基本概念

简介 图是用来对 对象之间 的成对关系建模的数学结构,由 节点 或 顶点(Vertex) 以及连接这些顶点的 边(Edge) 组成。 值得注意的是,图的顶点集合不能为空,但边的集合可以为空,通俗的讲,一张图,没有点不行,没有边可以,大不了点与点之间不相连。图可能是无向的,这意味着图中的边在连接顶点时无需区分方向。否则,称图是有向的。下面左图是一个典型的无向图结构,右图则属于有向图,无向图也可以看成是一种特殊的有向图。 图的分类: 无权图、有权图 连接顶点与顶点的边是否有数值与之对应,有的话就是有权图,否则就是无权图…

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

并查集进阶

作用 并查集可以快速度的解决连接问题,比如 A 和 B 是否相连。比如下图: 问红色的两个点是否相连,毫无疑问,一眼就看出来,是相连的。 问绿色的两个点是否相连,可能就需要看一会了,才能观察出来是否相连,如果更多,那可能就无法观察出来了,所以就引出了并查集这种数据结构。 同时,他也可以用在人与人关系中,比如社交网络,每个人就相当于一个点。计算机网络,每台计算机点等等。 并查集可以解决两点是否连接的问题,但是无法提供详细的连接路径。相当于只关心两者是否认识,而不关心两者是通过介绍认识或者通过网络认识等等。有失就有得,…

2022年7月7日 0条评论 1746点热度 0人点赞 大漠知秋 阅读全文
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条评论 1322点热度 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条评论 846点热度 0人点赞 大漠知秋 阅读全文
Java

SpringBoot AMQP

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

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

死信队列机制

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

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

消息过期机制

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

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

消费者限流机制

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

2022年7月6日 0条评论 1312点热度 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条评论 1219点热度 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条评论 1292点热度 0人点赞 大漠知秋 阅读全文
12345…24
分类
  • C++ / 11篇
  • Develop Software / 3篇
  • Docker CE / 24篇
  • Elasticsearch / 3篇
  • FastDFS / 1篇
  • Flutter / 1篇
  • Git / 3篇
  • GitLab / 6篇
  • Golang / 21篇
  • Http Client 4.5.2 / 2篇
  • Java / 14篇
  • Kubernetes / 19篇
  • Linux / 65篇
  • Mac / 5篇
  • 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 © 2023 大漠知秋的加油站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备16029200号-2