摘要: RocketMQ有两种获取消息的方式,分别为推模式和拉模式。 **推模式** 推模式在[【RocketMQ】消息的拉取](https://www.cnblogs.com/shanml/p/16463964.html)一文中已经讲过,虽然从名字上看起来是消息到达Broker后推送给消费者,实际上还是需 阅读全文
posted @ 2023-01-20 11:01 shanml 阅读(519) 评论(0) 推荐(0) 编辑
摘要: RocketMQ在集群模式下,同一个消费组内,一个消息队列同一时间只能分配给组内的某一个消费者,也就是一条消息只能被组内的一个消费者进行消费,为了合理的对消息队列进行分配,于是就有了负载均衡。 ![img](https://img2022.cnblogs.com/blog/2612945/20220 阅读全文
posted @ 2023-01-10 23:12 shanml 阅读(443) 评论(1) 推荐(3) 编辑
摘要: 在[【RocketMQ】消息的拉取](https://www.cnblogs.com/shanml/p/16513229.html)一文中可知,消费者在启动的时候,会创建消息拉取API对象`PullAPIWrapper`,调用pullKernelImpl方法向Broker发送拉取消息的请求,那么在主 阅读全文
posted @ 2022-12-19 09:35 shanml 阅读(581) 评论(0) 推荐(2) 编辑
摘要: 主从同步的实现逻辑主要在`HAService`中,在`DefaultMessageStore`的构造函数中,对`HAService`进行了实例化,并在start方法中,启动了`HAService`: ```java public class DefaultMessageStore implement 阅读全文
posted @ 2022-12-05 09:05 shanml 阅读(891) 评论(0) 推荐(1) 编辑
摘要: **全局有序** 在RocketMQ中,如果使消息全局有序,可以为Topic设置一个消息队列,使用一个生产者单线程发送数据,消费者端也使用单线程进行消费,从而保证消息的全局有序,但是这种方式效率低,一般不使用。 ![](https://img2022.cnblogs.com/blog/2612945 阅读全文
posted @ 2022-11-21 21:36 shanml 阅读(1302) 评论(0) 推荐(4) 编辑
摘要: Eureka分为Client端和Server端,Client端向Server端注册自己的服务信息,并且拉取所有服务的注册信息,Server端作为注册中心,负责接收Client端的注册信息,维护所有服务的注册信息,Server端也可以开启集群模式,相互之间同步服务的注册信息。 与缓存相关的三个变量 1 阅读全文
posted @ 2022-10-27 22:27 shanml 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 物理内存 计算机物理内存条的容量,比如我们买电脑会关注内存大小有多少G,这个容量就是计算机的物理内存。 虚拟内存 操作系统为每个进程分配了独立的虚拟地址空间,也就是虚拟内存,虚拟地址空间又分为用户空间和内核空间,操作系统的位数不同,虚拟地址空间的大小也不同,32位操作系统虚拟地址内核空间为1G,用户 阅读全文
posted @ 2022-10-17 20:37 shanml 阅读(2178) 评论(0) 推荐(2) 编辑
摘要: PhantomReference虚引用 在分析堆外内存回收之前,先了解下PhantomReference虚引用。 PhantomReference需要与ReferenceQueue引用队列结合使用,在GC进行垃圾回收的时候,如果发现一个对象只有虚引用在引用它,则认为该对象需要被回收,会将引用该对象的 阅读全文
posted @ 2022-10-08 21:57 shanml 阅读(1229) 评论(0) 推荐(0) 编辑
摘要: 最近看到网上有些文章在讨论JAVA中普通文件IO读/写的时候经过了几次数据拷贝,如果从系统调用开始分析,以读取文件为例,数据的读取过程如下(以缓存I/O为例): 应用程序调用read函数发起系统调用,此时由用户空间切换到内核空间; 内核通过DMA从磁盘拷贝数据到内核缓冲区; 将内核缓冲区的数据拷贝到 阅读全文
posted @ 2022-09-25 18:19 shanml 阅读(894) 评论(0) 推荐(0) 编辑
摘要: Raft协议 Raft是分布式系统中的一种共识算法,用于在集群中选举Leader管理集群。Raft协议中有以下角色: Leader(领导者):集群中的领导者,负责管理集群。 Candidate(候选者):具有竞选Leader资格的角色,如果集群需要选举Leader,节点需要先转为候选者角色才可以发起 阅读全文
posted @ 2022-09-13 09:16 shanml 阅读(1580) 评论(1) 推荐(2) 编辑