会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SHAN_CODE_NOTE
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2022年9月3日
【MySQL】order by引起的慢查询问题总结
摘要: 最近遇到了一个SQL没有走索引导致出现慢查询的问题,SQL本身很简单,两张表联合查询然后进行排序和分页,由于涉及到一些业务,这里以用户表和订单表为例,用户表数据在35W左右,订单表数据只有8条,订单表中有外键userid可以与用户表关联,此时查询在订单表中不存在数据的用户,根据用户的姓名、性别和创建
阅读全文
posted @ 2022-09-03 17:01 shanml
阅读(5760)
评论(0)
推荐(0)
2022年8月15日
【RocketMQ】【源码】事务的实现原理
摘要: 事务的使用 RocketMQ事务的使用场景 单体架构下的事务 在单体系统的开发过程中,假如某个场景下需要对数据库的多张表进行操作,为了保证数据的一致性,一般会使用事务,将所有的操作全部提交或者在出错的时候全部回滚。以创建订单为例,假设下单后需要做两个操作: 在订单表生成订单 在积分表增加本次订单增加
阅读全文
posted @ 2022-08-15 11:36 shanml
阅读(925)
评论(0)
推荐(1)
2022年7月25日
【RocketMQ】【源码】消息的消费
摘要: 上一讲【RocketMQ】消息的拉取 消息消费 当RocketMQ进行消息消费的时候,是通过ConsumeMessageConcurrentlyService的submitConsumeRequest方法,将消息提交到线程池中进行消费,具体的处理逻辑如下: 如果本次消息的个数小于等于批量消费的大小c
阅读全文
posted @ 2022-07-25 21:35 shanml
阅读(1644)
评论(0)
推荐(0)
2022年7月11日
【RocketMQ】【源码】消息的拉取
摘要: RocketMQ消息的消费以组为单位,有两种消费模式: **广播模式**:同一个消息队列可以分配给组内的每个消费者,每条消息可以被组内的消费者进行消费。 
评论(1)
推荐(2)
2022年7月5日
【RocketMQ】【源码】消息的刷盘机制
摘要: ## 刷盘策略 `CommitLog`的`asyncPutMessage`方法中可以看到在写入消息之后,调用了`submitFlushRequest`方法执行刷盘策略: ```java public class CommitLog { public CompletableFuture asyncPu
阅读全文
posted @ 2022-07-05 18:09 shanml
阅读(1177)
评论(1)
推荐(5)
2022年7月1日
【RocketMQ】【源码】消息的存储
摘要: ## Broker对消息的处理 `BrokerController`初始化的过程中,调用`registerProcessor`方法注册了处理器,在注册处理器的代码中可以看到创建了处理消息发送的处理器对象`SendMessageProcessor`,然后将其注册到远程服务中: ```java publ
阅读全文
posted @ 2022-07-01 22:16 shanml
阅读(885)
评论(0)
推荐(0)
2022年6月19日
【Redis】Redis Cluster-集群故障转移
摘要: 集群故障转移 节点下线 在集群定时任务clusterCron中,会遍历集群中的节点,对每个节点进行检查,判断节点是否下线。与节点下线相关的状态有两个,分别为CLUSTER_NODE_PFAIL和CLUSTER_NODE_FAIL。 CLUSTER_NODE_PFAIL:当前节点认为某个节点下线时,会
阅读全文
posted @ 2022-06-19 22:19 shanml
阅读(2067)
评论(0)
推荐(2)
2022年6月17日
【RocketMQ】【源码】MQ消息发送
摘要: ## 消息发送 首先来看一个RcoketMQ发送消息的例子: ```java @Service public class MQService { @Autowired DefaultMQProducer defaultMQProducer; public void sendMsg() { Strin
阅读全文
posted @ 2022-06-17 22:19 shanml
阅读(745)
评论(0)
推荐(3)
2022年6月15日
【RocketMQ】【源码】Broker服务注册
摘要: ## Broker注册 在Broker的启动函数中,添加了定时向NameServer进行注册的任务,在启动后延迟10秒向NameServer进行注册,之后定时发送心跳包,关于发送周期,首先从Broker配置的周期与60000毫秒中选出最小的那个值,然后再与10000毫秒对比,选出最大的那个,所以**
阅读全文
posted @ 2022-06-15 23:11 shanml
阅读(495)
评论(0)
推荐(0)
2022年6月8日
【RocketMQ】【源码】NameServer的启动
摘要: NameServer是一个注册中心,Broker在启动时向所有的NameServer注册,生产者Producer和消费者Consumer可以从NameServer中获取所有注册的Broker列表,并从中选取Broker进行消息的发送和消费。 NameServer的启动类是`NamesrvStartu
阅读全文
posted @ 2022-06-08 22:50 shanml
阅读(692)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告