摘要: 描述 如从海量数字中寻找最大的 k 个,这类问题我们称为 TOPK 问题 例子 现有列表 [1, 2, 0, 3, 5], 求前 2 个大的元素。 如传入列表和 k = 2,输出 [3, 5]。 算最大用冒泡,算最小用选择。 底层算法 Arrays.sort并不是单一的排序,而是插入排序,快速排序, 阅读全文
posted @ 2020-03-11 21:29 要好好吃饭 阅读(189) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/weixin_42195284/article/details/93461429#7.1 push和pull模式 push和pull模式 在RocketMQ中,消费者有两种模式,一种是push模式,另一种是pull模式。 push模式:客户端与服务端建立连 阅读全文
posted @ 2019-12-05 13:51 要好好吃饭 阅读(1624) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/xiaoye319/article/details/100126613?utm_source=distribute.pc_relevant.none-task 为了防止消息重复消费导致业务处理异常,消息队列 RocketMQ 版的消费者在接收到消息后,有必 阅读全文
posted @ 2019-12-03 13:33 要好好吃饭 阅读(302) 评论(0) 推荐(0) 编辑
摘要: https://help.aliyun.com/document_detail/87277.html?spm=5176.11065259.1996646101.searchclickresult.6ab3526d12VjIP&aly_as=mTU98foP 背景信息 当一条消息初次消费失败,消息队列 阅读全文
posted @ 2019-12-02 13:47 要好好吃饭 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 一、顺序消息的重试 对于顺序消息,当消费者消费消息失败后,消息队列会自动不断地进行消息重试(每次间隔时间为 1 秒),这时,应用会出现消息消费被阻塞的情况。因此,建议您使用顺序消息时,务必保证应用能够及时监控并处理消费失败的情况,避免阻塞现象的发生。 二、无序消息的重试 对于无序消息(普通、定时、延 阅读全文
posted @ 2019-11-30 13:58 要好好吃饭 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 一、Producer Producer端,每个实例在发消息的时候,默认会轮询所有的message queue发送,以达到让消息平均落在不同的queue上。而由于queue可以散落在不同的broker,所以消息就发送到不同的broker下,如下图: 二、Consumer负载均衡 集群模式 在集群消费模 阅读全文
posted @ 2019-11-30 13:21 要好好吃饭 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 一、消息存储 为了保证RocketMQ的高可靠性要求,MQ会对消息进行持久化。 生产者发送消息 MQ收到消息后,对消息进行持久化,在储存中新增一条记录 返回ACK给生产者 MQ推送消息给对应的消费者,然后等待消费者返回ACK 如果消费者返回了ACK,则MQ执行消息删除的操作,若超时未返回,MQ会认为 阅读全文
posted @ 2019-11-27 12:44 要好好吃饭 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1. 顺序消息 消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。 顺序消费的原理解析,在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);而消费消息的时候从多个queue上拉 阅读全文
posted @ 2019-11-26 13:23 要好好吃饭 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 一、步骤分析 消息发送者步骤分析 创建消息生产者producer,并指定生产者组名 指定NameServer地址 启动producer完成初始化 创建消息对象,指定主题Topic、Tag和消息体 发送消息 关闭生产者producer 消息消费者者步骤分析 创建消费者Consumer,指定消费者组名 阅读全文
posted @ 2019-11-24 13:53 要好好吃饭 阅读(454) 评论(0) 推荐(0) 编辑
摘要: XA协议包含两阶段提交(Two-phase Commit,2PC)和三阶段提交(3PC)两种实现 2PC、3PC还有TCC都蛮相似的。 3PC大致是把2PC的第一阶段拆分成了两个阶段, 而TCC我感觉是把2PC的第二阶段拆分成了两个阶段。 TCC又称补偿事务。其核心思想是:"针对每个操作都要注册一个 阅读全文
posted @ 2019-11-22 13:25 要好好吃饭 阅读(799) 评论(0) 推荐(0) 编辑