八股文 八股 队列 消息
Kubernetes编程——client-go基础—— 工作队列(workqueue)
工作队列(workqueue[wɜːk][kjuː]) https://github.com/kubernetes/kubernetes/tree/release-1.27/staging/src/k8s.io/client-go/util/workqueue 我理解意思是说: 这里说的 "工作队列 ......
MQ集群之仲裁队列
仲裁队列:仲裁队列是3.8版本以后才有的新功能,用来替代镜像队列,具备下列特征: - 与镜像队列一样,都是主从模式,支持主从数据同步 - 使用非常简单,没有复杂的配置 - 主从同步基于Raft协议,强一致 从RabbitMQ 3.8版本开始,引入了新的仲裁队列,他具备与镜像队里类似的功能,但使用更加 ......
kafka producer生产消息发送到kafka的过程
1 KafkaProducer的几个重要成员变量 1)Partitioner 用来获取消息应该发往哪个分区 private final Partitioner partitioner; 2)ProducerMetadata kafka元数据 private final ProducerMetadat ......
uniapp 消息推送
###1.前言 - 作为一个非原生App的开发者,对于手机系统的推送机制了解是是非有限的,只有了解清楚这些机制,后期的开发才会少踩很多坑,本文将对推送机制逻辑进行一个简单的梳理与记录 ###2.推送流程 - 推送流程1.0:后台服务器 -> 推送服务器(第三方) -> 手机App - 推送流程2.0 ......
SpringCloud之Stream消息驱动RocketMQ讲解
[toc] # 1 Stream消息驱动 本文是以 `RocketMQ` 为例讲解,[点击此处了解SpringBoot整合RocketMQ](https://jingzh.blog.csdn.net/article/details/130554340) ## 1.1 简介 ### 1.1.1 定义 ......
C++面试八股文:用过STL吗?
某日二师兄参加XXX科技公司的C++工程师开发岗位第21面: > 面试官:用过STL吗? > 二师兄:(每天都用好吗。。)用过一些。 > 面试官:你知道STL是什么? > 二师兄:STL是指标准模板库(`Standard Template Library`),是C++区别于C语言的特征之一。 > 面 ......
惰性队列
消息堆积问题 当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积问题。 ![](https://img2023.cnblogs.com/blog/3120037/202306/3120037- ......
C++面试八股文:知道std::unordered_set/std::unordered_map吗?
某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: > 面试官:知道`std::unordered_set/std::unordered_map`吗? > > 二师兄:知道。两者都是C++11引入的新容器,和`std::set`和`std::map`功能类似,`key`唯一,`unorde ......
浅谈单调队列优化DP
对于形如 $$ f_i=\max(f_{L≤j≤R}+w_i) $$ 的状态转移方程,也就是转移来自之前某个**定长区间**的最值,我们可以使用单调队列来维护区间最值,从而优化时间复杂度。 ## 烽火传递 我们看到题目可以想到用 $f_i$ 表示考虑到 $i$ 这个烽火台,点第 $i$ 个的合法方案 ......
RabbitMQ的消息失败策略
我们都知道消息在消费者端消费的时候,如果消费端出现异常,那么它会依据spring的重试机制进行重试,达到最大重试次数后,消息会被丢弃,这是由Spring内部机制决定的。 在开启重试模式后,重试次数耗尽,如果消息依然失败,则需要有MessageRecovery接口来处理,它包含三种不同的实现: Rej ......
消费者消息确认
RabbitMQ是**阅后即焚**机制,RabbitMQ确认消息被消费者消费后会立刻删除。 而RabbitMQ是通过消费者回执来确认消费者是否成功处理消息的:消费者获取消息后,应该向RabbitMQ发送ACK回执,表明自己已经处理消息。 设想这样的场景: - 1)RabbitMQ投递消息给消费者- ......
RabbitMQ消息持久化
我们看下之前启动idea测试消息发送的时候在后台生成的一条消息,现在已经在消息队列里面还没有被消费。 现在我们重启下RabbitMQ,执行linux命令:docker restart mq 看上图实时显示的错误信息,失去连接了,接下来刷新这个页面,可以发现这个对象没有了。 说明rabbit消息并不会 ......
自古以来,同步/异步都是八股文第一章
好久没上线了,今天记录编程中老掉牙的几个关键术语,一个言简意赅的术语定义包含主谓宾定状补, 我们应从貌似雷同的术语中体会到不同术语的表象行为、侧重点。 下面给出的3对技术术语,都是很核心、易混淆的概念点,但是多少还是有些表象、侧重点的不同。 书读百遍其义自见, 请关注最下方给出的微软官方技术文献, ......
基于SpringBoot整合Redisson的延迟队列
需求: 1.订单下单超过30分钟以后,如果还未支付,则自动转为取消支付状态 2.订单收货超过七天以后,如果还未评价,则自动转为好评 3.等类似需求 实现步骤: 1. 引入redisson依赖 <dependency> <groupId>org.redisson</groupId> <artifact ......
RabbitMQ的死信队列,延时队列
## 死信队列简介 RabbitMQ 的死信队列(Dead Letter Queue)是一种特殊的队列,用于存储那些被标记为“死信”的消息。所谓死信即无法被正常消费和处理的消息,通常是由于一些特定的情况或条件导致的,比如过期、重试次数超过限制等。 ### 普通消息成为死信的常见原因有 - **消息被 ......
java阻塞队列
add 当阻塞队列满时,再向队列里面添加元素则抛异常 offer 当阻塞队列满时,再向队列里面添加元素则返回false put 当阻塞队列满时,再向队列里面添加元素则会被挂起,直到有元素被消费掉才插入 offer(E e,Time,TimeUnit) 超时是指当一个时限过后,才会插入或者取出,当阻塞 ......
如何解决MQTT消息积压
什么是消息积压? 大量消息被堆积在broker端,没有被消费。 为什么会消息积压? 宏观角度主要原因是:producer端生产速度 > consumer端消费速度。 导致producer端生产速度 > consumer端消费速度的情况有多种: 设计的时候就没有考虑消费速度要大于生产速度,这种情况最不 ......
如何解决MQTT消息重复消费
业务角度 前端重复提交表单 用户恶意进行刷单 技术角度 MQTT协议中对传递消息时的服务质量进行了分类,虽然由MQTT协议定义但是在所有消息传递场景都适用。 At most once:最多分发一次。也就是说不保证消息可靠性,允许丢消息。 At least once:至少分发一次。也就是说保证消息可靠 ......
如何解决MQTT消息不丢失
为什么消息会丢失? 整个消息从生产到消费,哪些地方可能导致丢消息? 生产阶段:消息在Producer中被创建,网络传输到Broker。 存储阶段:消息在Broker存储,若是集群,消息会被复制到其他副本上。 消费阶段:Consumer从Broker拉取消息,网络传输到Consumer上。 总结下来有 ......
C++面试八股文:static_cast了解一下?
# C++面试八股文:static_cast了解一下? 某日二师兄参加XXX科技公司的C++工程师开发岗位第20面: > 面试官:C++中支持哪些类型转换? > 二师兄:C++支持C风格的类型转换,并在C++11引入新的关键字规范了类型转换。 > 二师兄:C++11引入四种新的类型转换,分别是`st ......
基于Redis的消息发布和订阅(广播模式)
> 最近在优化一个redis的大key问题, 原先的同事写法是将所有的配置都放在一个key里面, value是一个map. 但是随着配置越来越多, 这个map也变得很大, 已经影响redis的性能.遂决定将map里面的每个配置单独出来一个key, 当有配置变动的时候, 通过redis的消息队列通知到 ......
C++面试八股文:用过std::set/std::map吗?
某日二师兄参加XXX科技公司的C++工程师开发岗位第27面: > 面试官:用过`std::set/std::map`吗? > > 二师兄:用过。 > > 面试官:能介绍一下二者吗? > > 二师兄:`std::set`是一个有序的集合,其中的元素是唯一的,即每个元素只能出现一次。一般用于去重和自动排 ......
RabbitMQ消息中间件
消息队列在使用过程中,面临着很多实际问题需要思考: 消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生产者发送的消息未送达exchange 消息到达exchange后未到达queue MQ宕机,queue将消息丢失 consumer接收 ......
SAP ABAP 动态结构实现发送企业微信应用消息
企业微信官方接口: 应用支持推送文本、图片、视频、文件、图文等类型。 请求方式:POST(HTTPS)请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN 大概思路: 1. 封装调用企业微信函 ......
kafka 开发时生产者和消费者消息顺序的问题
1 简介 在kafka,生产者生产的消息,只会保证一个生产者生产的消息在一个partion里面是有序的。 所以在编程时,若业务对消息的顺序性有更多的要求,那么就需要自己来保证消息的顺序性了。 消费者消费了消息,offset是需要自己来维护的。也就是说需要自己去保障消费的顺序性。 2 生产者顺序的保证 ......
Kafka生产者异步发送消息产生堵塞
问题描述 使用KafkaTemplate作为生产者发送消息时为了不影响主流业务会采用异步发送的方式,如下 public void producerSendFuture(String topic, String data) { logger.info("kafka异步发送topic:" + topic ......
kafka 消息的无状态和消息的零拷贝
1 简介 零拷贝是指将数据直接从磁盘文件复制到网卡,而不需要经由应用之手。 零拷贝大大提高了应用程序的性能,减少了内核和用户模式之间的上下文切换。 对Linux操作系统而言,零拷贝技术依赖于底层的sendfile()方法实现,对于Java语言,FileChannel.transferTo()方法的底 ......
JS 模拟 循环队列
Loop Array 代码(基于JS原生数组) /** * 循环队列 */ var ALoopQueue = (function () { /** * @type {Array} */ let arr; /** * 头节点 * @type {number} */ let frontIdx; /** ......
温故知新,signalR、RSA加密、ConcurrentQueue队列
> ### 这是一个用户密码异步加解密的Demo,包含了RSA非对称加密,ConcurrentQueue线程安全队列使用,signalR实时推送加解密信息等内容。 # 说在前面的话 距离上次更新已然快过去一年了,这中间日子里进入了非常繁忙的项目迭代开发中,时至今日终于有空停下来写一写之前的博客计划, ......