![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
文章平均质量分 96
听到微笑
这个作者很懒,什么都没留下…
展开
-
一文读懂Apollo客户端配置加载流程
Apollo 启动时会在扩展点开始加载远端配置,而Apollo客户端获取配置采用多层设计->->,最终由完成远端配置拉取负责拉取远端配置并通知更新配置。负责将远端配置缓存至本地文件,设计这一层主要是为了在Apollo Server 不可用时保证业务服务的可用性。当配置发生变更时负责通知更新配置。负责缓存Apollo配置信息在内存中,当配置发生变更时,会回调方法更新Java Bean 中的属性。原创 2024-05-26 16:41:36 · 1568 阅读 · 0 评论 -
RocketMQ阅读源码前的准备
本文将讲解如何在IDEA中导入 RocketMQ 源码,并运行 Broker 和 NameServer,编写一个消息发送与消息消费的示例。原创 2023-12-02 10:39:54 · 3748 阅读 · 0 评论 -
RocketMQ主从同步原理
主从同步这个概念相信大家在平时的工作中,多少都会听到。其目的主要是用于做一备份类操作,以及一些读写分离场景。比如我们常用的关系型数据库mysql,就有主从同步功能在。主从同步,就是将主服务器上的数据同步到从服务器上,也就是相当于新增了一个副本。而具体的主从同步的实现也各有千秋,如mysql中通过binlog实现主从同步,es中通过translog实现主从同步,redis中通过aof实现主从同步。那么,rocketmq又是如何实现的主从同步呢?另外,主从同步需要考虑的问题是哪些呢?数据同步的及时性?原创 2023-12-02 10:18:25 · 4336 阅读 · 0 评论 -
RocketMQ消息过滤机制源码详解
RocketMQ支持两种方式的消息过滤:TAG/SQLTAG 过滤分两个阶段完成:第一阶段:broker率先根据tag的hashcode完成过滤第二阶段:consumer根据tag值完成最后的过滤SQL过滤只能在Broker中完成。原创 2023-12-02 09:55:47 · 3833 阅读 · 0 评论 -
详解RocketMQ消息存储原理
RocketMQ存储的文件主要包括CommitLog文件、ConsumeQueue文件、Index文件。RocketMQ将所有topic的消息存储在同一个文件中,确保消息发送时按顺序写文件,尽最大的能力确保消息发送的高性能与高吞吐量。因为消息中间件一般是基于消息主题的订阅机制,所以给按照消息主题检索消息带来了极大的不便。为了提高消息消费的效率,RocketMQ引入了ConsumeQueue消息消费队列文件,每个topic包含多个消息消原创 2023-10-15 20:16:51 · 5752 阅读 · 0 评论 -
Dubbo SPI扩展机制源码详解(基于2.7.10)
本文主要分享 Dubbo 的拓展机制 SPI。想要理解 Dubbo ,理解 Dubbo SPI 是非常必须的。在 Dubbo 中,提供了大量的拓展点,基于 Dubbo SPI 机制加载在看具体的 Dubbo SPI 实现之前,我们先理解 Dubbo SPI 产生的背景:Dubbo 的扩展点加载从 JDK 标准的 SPI (Service Provider Interface) 扩展点发现机制加强而来。Dubbo 改进了 JDK 标准的 SPI 的以下问题:用户能够基于 Dubbo 提供的扩展能力,很方便基于原创 2022-12-04 17:29:27 · 5158 阅读 · 0 评论 -
一文读懂Spring的SPI机制
一. 从类加载说起Java中的类加载器负载加载来自文件系统、网络或者其他来源的类文件。jvm的类加载器默认使用的是双亲委派模式。三种默认的类加载器Bootstrap ClassLoader、Extension ClassLoader和System ClassLoader(Application ClassLoader)每一个中类加载器都确定了从哪一些位置加载文件。于此同时我们也可以通过继承 java.lang.classloader 实现自己的类加载器。Bootstrap ClassLoader:负责原创 2022-05-22 10:46:27 · 11102 阅读 · 5 评论 -
一文搞懂 Spring Bean 的生命周期
一. 前言在学习Spring框架的IOC、AOP两大功能之前,首先需要了解这两个技术的基础——Bean。在Spring框架中,Bean无处不在,IOC容器管理的对象就是各种各样的Bean。理解Bean的生命周期有助于我们更好的理解和使用Spring框架的IOC功能,也有助于我们理解框架如何初始化、使用和管理Bean。接下来我们通过代码实现观察 BeanFactory 与 ApplicationContext 中bean的生命周期。二. BeanFactory中Bean的生命周期Bean 的生命周期概括原创 2022-05-03 17:19:59 · 2490 阅读 · 0 评论 -
tcc-transaction源码详解
本文主要介绍TCC的原理,以及从代码的角度上分析如何实现的;不涉及具体使用示例。本文通过分析tcc-transaction源码带大家了解TCC分布式事务的实现原理。需要注意的是,本文所有代码都基于master-1.7.x分支,不同版本的源码会存在一定的差异。完整代码注释请参考:bigcoder84/tcc-transaction一. 概述1.1 项目模块本文对 tcc-transaction 源码分析。主要涉及如下四个模块:tcc-transaction-core:tcc-transaction原创 2022-01-02 22:02:04 · 3782 阅读 · 5 评论