JavaLadder
中间件兴趣圈,一定能成为你在java领域的进阶之梯,旨在成体系剖析Java主流中间件,构建互联网分布式架构体系,助力突破大厂,从源码分析、架构设计、线上故障案例剖析、实战等4个维度开展,目前已覆盖Netty、RocketMQ、Dubbo、Sentienl、Kafka、Canal、ElasticSearch、ElasticJob等12个专栏近300篇文章。
由于公众号对历史文章不太友好,应粉丝朋友们的要求,我将公众号所有专栏内容同步到csdn仓库,希望对大家阅读带来便利。
中间件技术是进入互联网大厂的敲门砖,深入掌握1-2个主流中间件,很大可能性突破BAT等大厂,本文已收录到CSDN仓库:
走进作者
欢迎大家加我好友,拉您入技术交流群,共同探讨。
技术干货
分享的主要内容包含开源项目、电子书、专栏,接下来一一介绍给大家。
1、开源项目
主要是提炼或开源一些入门代码,方便大家更加深刻的理解中间件,理论与实践结合,目前已包括 rocketmq-learing与 netty-learning。
1、RocketMQ入门实例
结合场景介绍RocketMQ使用。
代码链接:rocketmq-learning
2、Netty入门实例
提取RocketMQ RPC模块代码进行封装,提供一个可直接使用的netty框架,结合Netty专栏,理论与实践相结合。
代码链接:netty-learning
2、电子书
为了更加方便读者朋友对专栏内容的阅读,会将公众号中的专栏转化为电子书。
2.1 RocketMQ电子书
目前已将RocketMQ专栏转化为两本电子书:
获取方式:关注『中间件兴趣圈』,回复RMQPDF,即可免费获取。
2.2 Netty 电子书
获取方式:关注『中间件兴趣圈』,回复NPDF,即可免费获取。
3、专栏
专栏全景图:
3.1 Netty专栏
《让天下没有难学的Netty》专栏将从通道篇、内存篇、性能篇、实战篇详细剖析Netty的实现原理、设计理念,同时通过抽取Apache顶级项目RocketMQ的网络通信模块,构建一个可直接使用的Netty网络通信框架。
3.1.1 网络通道篇
- Netty4 Channel 概述
- Netty4 ChannelHandler 概述
- Netty4 事件处理传播机制
- 图文并茂剖析Netty编解码以及背后的设计理念
- 一文揭晓通信协议设计的奥妙,直接"秒杀"面试官
- 面试官:Netty的线程模型可不是Reactor这么简单
- Netty进阶:手把手教你如何编写一个NIO客户端
- Netty进阶:手把手教你如何编写一个NIO服务端
- 阿里面试真题:NIO为什么不适合文件上传场景、如何优雅解决
3.2 RocketMQ专栏
- 我的另一种参与 RocketMQ 开源社区的方式
- 踩坑记:rocketmq-console 消费TPS为0,但消息积压数却在降低是个什么“鬼”
- RocketMQ msgId与offsetMsgId释疑(实战篇)
- RocketMQ 一行代码造成大量消息丢失
- RocketMQ消息发送常见错误与解决方案
- 从年末生产故障解锁RocketMQ集群部署的最佳实践
- RocketMQ实战:生产环境中,autoCreateTopicEnable为什么不能设置为true
- RocketMQ 消息发送system busy、broker busy原因分析与解决方案
- 再谈 RocketMQ broker busy(实战篇)
- RocketMQ实战:一个新的消费组初次启动时从何处开始消费呢?
- RocketMQ生产环境主题扩分片后遇到的坑
- 一次 RocketMQ 进程自动退出排查经验分享(实战篇)
- 从年末生产故障解锁RocketMQ集群部署的最佳实践
- RocketMQ 平滑升级到主从切换(实战篇)
- RocketMQ学习环境搭建(RocketMQ安装与IDEA Debug环境搭建)
- RocketMQ核心概念扫盲篇
- RocketMQ HA机制(主从同步)
- RocketMQ ACL使用指南
- RocketMQ消息轨迹-设计篇
- 蚂蚁二面:MQ消费端遇到瓶颈除了横向扩容外还有其他解决办法?)
- 事务消息应用场景、实现原理与项目实战(附全部源码)
- 源码分析RocketMQ ACL实现机制
- 源码分析RocketMQ消息轨迹
- RocketMQ 多副本前置篇:初探raft协议
- 源码分析RocketMQ多副本之Leader选主
- 源码分析 RocketMQ DLedger 多副本存储实现
- 源码分析 RocketMQ DLedger(多副本) 之日志追加流程
- 源码分析 RocketMQ DLedger(多副本) 之日志复制-上篇
- 源码分析 RocketMQ DLedger(多副本) 之日志复制-下篇
- 基于 raft 协议的 RocketMQ DLedger 多副本日志复制设计原理
- RocketMQ 整合 DLedger(多副本)即主从切换实现平滑升级的设计技巧
- 源码分析 RocketMQ DLedger 多副本即主从切换实现原理
3.3 Kafka专栏
Kafka专栏
- 初识 Kafka Producer 生产者
- 源码分析 Kafka 消息发送流程(文末附流程图)
- KafkaProducer Sender 线程详解(含详细的执行流程图)
- 初始 Kafka Consumer 消费者
- 源码分析Kafka 消息拉取流程(文末两张流程图)
- Kafka 和 RocketMQ 之性能对比
3.4 Sentinel专栏
以源码分析为主要手段,结合图解的方式深入剖析Sentienl限流的实现原理,带着问题看源码,加以思考、质疑并加以验证,该专栏不仅介绍Sentinel核心理念,更是笔者源码阅读方法论的一次实战。
- Alibaba Sentinel 限流与熔断初探
- 源码分析 Sentinel 之 Dubbo 适配原理
- Alibaba Seninel 滑动窗口实现原理(文末附原理图)
- 寻找一把进入 Alibaba Sentinel 的钥匙(文末附流程图)
- Sentinel 调用上下文环境实现原理(含原理图)
- 源码分析 Sentinel 实时数据采集实现原理
- Sentinel FlowSlot 限流实现原理(文末附流程图与总结)
- 源码分析 RateLimiter SmoothBursty 实现原理(文末附流程图)
- 源码分析RateLimiter SmoothWarmingUp 实现原理(文末附流程图)
- Sentienl 流控效果之匀速排队与预热实现原理与实战建议
- 源码分析 Sentinel DegradeSlot 熔断实现原理
- Sentinel 动态数据源架构设计理念与改造实践
- Sentinel 集群限流设计原理
- Sentinel Dubbo 适配器看限流与熔断(实战思考篇)
- Sentinel 系统自适应限流原理剖析与实战指导
- 结合 Sentinel 专栏谈谈我的源码阅读方法
3.5 源码分析Dubbo专栏
本系列文章主要针对Dubbo2.6.2(dubbox2.8.4)版本,从源码的角度分析Dubbo内部的实现细节,加深对Dubbo的各配置参数底层实现原理的理解,更好的指导Dubbo实践。
- 寻找注册中心、服务提供者、服务消费者功能入口
- 源码分析Dubbo服务提供者启动流程-上篇
- 源码分析Dubbo服务提供者启动流程-下篇
- 源码分析Dubbo消费端启动流程
- 服务发现、集群、负载均衡、路由体系
- 源码分析Dubbo服务注册与发现机制RegistryDirectory)
- 源码分析Dubbo override实现原理
- Dubbo路由机制概述
- 源码分析Dubbo负载算法
- 源码分析Dubbo集群策略
- Dubbo网络通讯篇概述
- 源码分析Dubbo事件派发机制
- 源码分析Dubbo线程池实现原理
- 源码分析Dubbo NettyServer与HeaderExchangeServer
- 源码分析Dubbo网络通信NettyClient实现原理
- 源码分析Dubbo编码解码实现原理(Dubbo协议)
- Dubbo序列化概述
- 源码分析kryo对java基础数据类型与Stirng类型的序列化反序列化机制
- 源码分析kryo对象序列化实现原理
- 源码分析Dubbo服务调用-服务提供者如何处理请求命令与再谈Invoker
- Dubbo Filter机制概述
- 源码分析Dubbo监控中心实现原理
- 源码分析Dubbo异步调用与事件回调机制
- 源码分析Dubbo服务调用日志(accesslog参数)实现原理
- 源码分析Dubbo服务提供者、服务消费者并发度控制机制
- 源码分析Dubbo tps过滤器器实现原理
- 源码分析Dubbo 泛化调用与泛化实现原理
- Dubbo服务治理之灰度发布方案(版本发布控制影响范围)
3.6 ElasticSearch专栏
本专栏是对官方文档的完善与补充,立足与实战。
3.7 Canal专栏
- 数据异构重器之 Canal 初探
- 一文详解 Canal Instance 设计理念与定制开发思路
- 探究 Canal EventParser 的设计与实现奥妙
- Canal 如何保证数据库库事务的一致性
- Canal 初次启动时如何定位同步位点(文末附流程图)
- Canal binlog 日志管理器与GTID简介
- [Canal binlog 日志 Dump 流程分析](
3.8 ElasticJob专栏
源码分析ElasticJob研究系列主要要两个学习目标:
- 了解分布式调度平台ElasticJob的实现原理
- 掌握curator开源框架操作ZK
3.9 MyBatis专栏
源码分析Mybatis专栏,目前重点关注Mybatis的初始化流程、SQL执行流程、Mybatis扩展机制与缓存机制。创作背景是我在落地公司全链路压测系统时,调研数据库层面的数据隔离方案时做的一些技术研究。