dingwpmz / JavaLadder

java进阶,关注Java主流中间件,覆盖RocketMQ、Dubbo、Sentienl、Kafka、Canal、ElasticSearch、ElasticJob等12个专栏近300篇文章。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JavaLadder

中间件兴趣圈公众号,一定能成为你在java领域的进阶之梯,旨在成体系剖析Java主流中间件,构建互联网分布式架构体系,助力突破大厂,从源码分析、架构设计、线上故障案例剖析、实战等4个维度开展,目前已覆盖Netty、RocketMQ、Dubbo、Sentienl、Kafka、Canal、ElasticSearch、ElasticJob等12个专栏近300篇文章。

由于公众号对历史文章不太友好,应粉丝朋友们的要求,我将公众号所有专栏内容同步到github,希望对大家阅读带来便利。

中间件技术是进入互联网大厂的敲门砖,深入掌握1-2个主流中间件,很大可能性突破BAT等大厂,期待Star支持一波

建议各位粉丝朋友们,关注一下我的公众号,以便及时获取最新的更新内容,与笔者近距离沟通交流。

在这里插入图片描述

也欢迎大家扫一扫加我好友(备注:github),拉你进学习交流群,里面有各位BAT等一线互联网大佬,可以提问,内推等,一起抱团取暖。

走进作者

  1. 10年IT老兵给职场新人的一些建议

  2. 程序员如何提高影响力

  3. 我的另一种参与 RocketMQ 开源社区的方式

  4. 优秀程序员必备技能之如何高效阅读源码

  5. “我”被阿里巴巴宠幸了

技术干货

『中间件兴趣圈』公众号分享的主要内容包含开源项目、电子书、专栏,接下来一一介绍给大家。

1、开源项目

主要是提炼或开源一些入门代码,方便大家更加深刻的理解中间件,理论与实践结合,目前已包括 rocketmq-learing与 netty-learning。

1、RocketMQ入门实例 结合场景介绍RocketMQ使用。 在这里插入图片描述

代码链接:rocketmq-learning

2、Netty入门实例 提取RocketMQ RPC模块代码进行封装,提供一个可直接使用的netty框架,结合Netty专栏,理论与实践相结合。

在这里插入图片描述

代码链接:netty-learning

2、电子书

为了更加方便读者朋友对专栏内容的阅读,会将公众号中的专栏转化为电子书,目前已将RocketMQ专栏转化为两本电子书: Apache RocketMQ ACL、消息轨迹、主从切换

Apache线上故障排查与实战

获取方式:关注『中间件兴趣圈』,回复GRF,即可免费获取

3、专栏

3.1 架构实战(技术干货)

3.2 重学Java高并发

《重学Java高并发》专栏特色:结合10余年的工作经验,在实践中提炼总结高并发经验,将理论落到实处,不仅助力面试,更是真正提高技能。

  1. 《重学Java高并发》之“摸底考试”:你会使用多线程实现生产者-消费者协作模型吗?
  2. 你管这“破玩意儿”叫锁
  3. java并发高频面试题:Sempahore的使用场景与常见误区
  4. 《重学Java高并发》同步转异步编程技巧与实战运用
  5. 《重学Java高并发》线程之间如何协作(父子线程如何优雅交互)
  6. disruptor在数据同步场景下的应用实战
  7. 《重学Java高并发》disruptor是如何做到百万级吞吐?
  8. 《重学Java高并发》Disruptor使用实战

3.3 Netty专栏

《让天下没有难学的Netty》专栏将从通道篇、内存篇、性能篇、实战篇详细剖析Netty的实现原理、设计理念,同时通过抽取Apache顶级项目RocketMQ的网络通信模块,构建一个可直接使用的Netty网络通信框架。

3.3.1 网络通道篇
  1. Netty4 Channel 概述
  2. Netty4 ChannelHandler 概述
  3. Netty4 事件处理传播机制
  4. 图文并茂剖析Netty编解码以及背后的设计理念
  5. 一文揭晓通信协议设计的奥妙,直接"秒杀"面试官
  6. 面试官:Netty的线程模型可不是Reactor这么简单
  7. Netty进阶:手把手教你如何编写一个NIO客户端
  8. Netty进阶:手把手教你如何编写一个NIO服务端
  9. 阿里面试真题:NIO为什么不适合文件上传场景、如何优雅解决
  10. 大厂Offer收割机:Netty处理写事件之连环四问,你能抗住吗?
  11. 构建Netty4通道的体系化思维,这些方法你应该关注
  12. NIO界最强“Hello World”,不服来辩!!!
  13. 网上关于“零拷贝”原理相关的文章满天飞,但你知道如何使用零拷贝吗
3.4 RocketMQ专栏
  1. 我的另一种参与 RocketMQ 开源社区的方式
  2. 线上环境大规模RocketMQ集群不停机优雅升级实践
  3. 性能调优篇:困扰我半年之久的RocketMQ timeout exception 终于被破解了
  4. (架构实战)你的RocketMQ集群是安全的吗?
  5. 第一次尝试为Apache顶级开源项目贡献代码
  6. 队列数量变更会导致顺序消费失效,我是这样解决的...
  7. 生产环境出现网络分区,RocketMQ集群表示毫无压力!!!
  8. 7张图揭晓RocketMQ存储设计的精髓
  9. 踩坑记:rocketmq-console 消费TPS为0,但消息积压数却在降低是个什么“鬼”
  10. RocketMQ msgId与offsetMsgId释疑(实战篇)
  11. RocketMQ 一行代码造成大量消息丢失
  12. RocketMQ消息发送常见错误与解决方案
  13. 从年末生产故障解锁RocketMQ集群部署的最佳实践
  14. RocketMQ实战:生产环境中,autoCreateTopicEnable为什么不能设置为true
  15. RocketMQ 消息发送system busy、broker busy原因分析与解决方案
  16. 再谈 RocketMQ broker busy(实战篇)
  17. RocketMQ实战:一个新的消费组初次启动时从何处开始消费呢?
  18. RocketMQ生产环境主题扩分片后遇到的坑
  19. 一次 RocketMQ 进程自动退出排查经验分享(实战篇)
  20. 从年末生产故障解锁RocketMQ集群部署的最佳实践
  21. RocketMQ 平滑升级到主从切换(实战篇)
  22. RocketMQ学习环境搭建(RocketMQ安装与IDEA Debug环境搭建)
  23. RocketMQ核心概念扫盲篇
  24. RocketMQ HA机制(主从同步)
  25. RocketMQ ACL使用指南
  26. RocketMQ消息轨迹-设计篇
  27. 蚂蚁二面:MQ消费端遇到瓶颈除了横向扩容外还有其他解决办法?)
  28. 事务消息应用场景、实现原理与项目实战(附全部源码)
  29. 源码分析RocketMQ ACL实现机制
  30. 源码分析RocketMQ消息轨迹
  31. RocketMQ 多副本前置篇:初探raft协议
  32. 源码分析RocketMQ多副本之Leader选主
  33. 源码分析 RocketMQ DLedger 多副本存储实现
  34. 源码分析 RocketMQ DLedger(多副本) 之日志追加流程
  35. 源码分析 RocketMQ DLedger(多副本) 之日志复制-上篇
  36. 源码分析 RocketMQ DLedger(多副本) 之日志复制-下篇
  37. 基于 raft 协议的 RocketMQ DLedger 多副本日志复制设计原理
  38. RocketMQ 整合 DLedger(多副本)即主从切换实现平滑升级的设计技巧
  39. 源码分析 RocketMQ DLedger 多副本即主从切换实现原理
3.5 Kafka专栏

Kafka专栏

  1. 初识 Kafka Producer 生产者
  2. 源码分析 Kafka 消息发送流程(文末附流程图)
  3. KafkaProducer Sender 线程详解(含详细的执行流程图)
  4. 初始 Kafka Consumer 消费者
  5. 源码分析Kafka 消息拉取流程(文末两张流程图)
  6. Kafka 和 RocketMQ 之性能对比
  7. 跟我学Kafka:如何高效运维之主题篇
  8. 从实战中认识Kafka消费组
  9. 通过一个Kafka故障解决过程阐述架构师必须具备的架构思维
  10. 图解Kafka消息发送者核心参数与工作机制
  11. 初始 Kafka Consumer 消费者
  12. “有的放矢”才是性能优化的正确打开方式
  13. Kafka性能调优实战:同等资源配置性能提升20几倍的秘诀
  14. 关于Kafka消费者的这些参数你应该要知道?
  15. 怒肝15天终于一举拿下Kafka的重平衡机制
  16. 一文读懂kafka消息拉取机制|线程拉取模型
  17. Kafka中的这只“千里眼”,你需要知道!!!
  18. 答读者问:Kafka顺序消费吞吐量下降该如何优化?
3.6 Sentinel专栏

以源码分析为主要手段,结合图解的方式深入剖析Sentienl限流的实现原理,带着问题看源码,加以思考、质疑并加以验证,该专栏不仅介绍Sentinel核心理念,更是笔者源码阅读方法论的一次实战。

  1. Alibaba Sentinel 限流与熔断初探
  2. 源码分析 Sentinel 之 Dubbo 适配原理
  3. Alibaba Seninel 滑动窗口实现原理(文末附原理图)
  4. 寻找一把进入 Alibaba Sentinel 的钥匙(文末附流程图)
  5. Sentinel 调用上下文环境实现原理(含原理图)
  6. 源码分析 Sentinel 实时数据采集实现原理
  7. Sentinel FlowSlot 限流实现原理(文末附流程图与总结)
  8. 源码分析 RateLimiter SmoothBursty 实现原理(文末附流程图)
  9. 源码分析RateLimiter SmoothWarmingUp 实现原理(文末附流程图)
  10. Sentienl 流控效果之匀速排队与预热实现原理与实战建议
  11. 源码分析 Sentinel DegradeSlot 熔断实现原理
  12. Sentinel 动态数据源架构设计理念与改造实践
  13. Sentinel 集群限流设计原理
  14. Sentinel Dubbo 适配器看限流与熔断(实战思考篇)
  15. Sentinel 系统自适应限流原理剖析与实战指导
  16. 结合 Sentinel 专栏谈谈我的源码阅读方法
3.7 源码分析Dubbo专栏

本系列文章主要针对Dubbo2.6.2(dubbox2.8.4)版本,从源码的角度分析Dubbo内部的实现细节,加深对Dubbo的各配置参数底层实现原理的理解,更好的指导Dubbo实践。

  1. 寻找注册中心、服务提供者、服务消费者功能入口
  2. 源码分析Dubbo服务提供者启动流程-上篇
  3. 源码分析Dubbo服务提供者启动流程-下篇
  4. 源码分析Dubbo消费端启动流程
  5. 服务发现、集群、负载均衡、路由体系
  6. 源码分析Dubbo服务注册与发现机制RegistryDirectory)
  7. 源码分析Dubbo override实现原理
  8. Dubbo路由机制概述
  9. 源码分析Dubbo负载算法
  10. 源码分析Dubbo集群策略
  11. Dubbo网络通讯篇概述
  12. 源码分析Dubbo事件派发机制
  13. 源码分析Dubbo线程池实现原理
  14. 源码分析Dubbo NettyServer与HeaderExchangeServer
  15. 源码分析Dubbo网络通信NettyClient实现原理
  16. 源码分析Dubbo编码解码实现原理(Dubbo协议)
  17. Dubbo序列化概述
  18. 源码分析kryo对java基础数据类型与Stirng类型的序列化反序列化机制
  19. 源码分析kryo对象序列化实现原理
  20. 源码分析Dubbo服务调用-服务提供者如何处理请求命令与再谈Invoker
  21. Dubbo Filter机制概述
  22. 源码分析Dubbo监控中心实现原理
  23. 源码分析Dubbo异步调用与事件回调机制
  24. 源码分析Dubbo服务调用日志(accesslog参数)实现原理
  25. 源码分析Dubbo服务提供者、服务消费者并发度控制机制
  26. 源码分析Dubbo tps过滤器器实现原理
  27. 源码分析Dubbo 泛化调用与泛化实现原理
  28. Dubbo服务治理之灰度发布方案(版本发布控制影响范围)
3.8 ElasticSearch专栏

本专栏是对官方文档的完善与补充,立足与实战。

  1. ElasticSearch Client详解

  2. Elasticsearch文档读写模型实现原理

  3. Elasticsearch Document Index API详解、原理与示例

  4. Elasticsearch Document Get API详解、原理与示例

  5. Elasticsearch Document Delete API详解、原理与示例

  6. Elasticsearch Document Update API详解、原理与示例

  7. Elasticsearch Multi Get、 Bulk API详解、原理与示例

  8. Elasticsearch Query DSL概述与查询、过滤上下文

  9. Elasticsearch Query DSL之全文检索(Full text queries)上篇

  10. Elasticsearch Query DSL之全文检索(Full text queries)下篇

  11. Elasticsearch Query DSL之Term level queries

  12. Elasticsearch Query DSL之Compound queries(复合查询)

  13. Elasticsearch Mapping类型映射概述与元字段详解

  14. Elasticsearch Mapping parameters(主要参数一览)

  15. Elasticsearch Mapping之字段类型(field datatypes)

  16. Elasticsearch Dynamic Mapping(动态映射机制)

  17. Elasticsearch Search API 概述与URI Search

  18. Elasticsearch Search API之(Request Body Search 查询主体)-上篇

  19. Elasticsearch Search API之搜索模板(search Template)

  20. ES度量聚合(ElasticSearch Metric Aggregations)

  21. elasticsearch使用指南之桶聚合(Bucket)上篇

  22. Es Bucket聚合(桶聚合) Terms Aggregation与Significant Terms Aggregation

  23. ES Pipeline Aggregation(管道聚合)

  24. Elasticsearch Search API之(Request Body Search 查询主体)-下篇

  25. Elasticsearch索引监控之Indices Segments API与Indices Shard Stores

  26. Elasticsearch Index Monitoring(索引监控)之Index Stats API详解

  27. Elasticsearch之索引管理API(Index management)

  28. Elasticsearch Index Templates(索引模板)

  29. Elasticsearch Index Aliases详解

  30. Elasticsearch Index Setting一览表

3.9 Canal专栏
  1. 数据异构重器之 Canal 初探
  2. 一文详解 Canal Instance 设计理念与定制开发思路
  3. 探究 Canal EventParser 的设计与实现奥妙
  4. Canal 如何保证数据库库事务的一致性
  5. Canal 初次启动时如何定位同步位点(文末附流程图)
  6. Canal binlog 日志管理器与GTID简介
  7. [Canal binlog 日志 Dump 流程分析](
3.10 ElasticJob专栏

源码分析ElasticJob研究系列主要要两个学习目标:

  • 了解分布式调度平台ElasticJob的实现原理
  • 掌握curator开源框架操作ZK
  1. 源码分析ElasticJob前置篇之自定义Spring命名空间

  2. 源码分析ElasticJob启动流程(基于Spring)

  3. 源码分析ElasticJob选主实现原理

  4. 源码分析ElasticJob分片机制

  5. 源码分析ElasticJob故障失效转移

  6. 源码分析ElasticJob任务错过机制(misfire)与幂等性

  7. 源码分析ElasticJob事件监听器

3.11 MyBatis专栏

源码分析Mybatis专栏,目前重点关注Mybatis的初始化流程、SQL执行流程、Mybatis扩展机制与缓存机制。创作背景是我在落地公司全链路压测系统时,调研数据库层面的数据隔离方案时做的一些技术研究。

  1. 源码分析Mybatis MapperProxy初始化【图文并茂】

  2. 源码分析Mybatis MappedStatement的创建流程

  3. 【图文并茂】Mybatis执行SQL的4大基础组件详解

  4. 【图文并茂】源码解析MyBatis Sharding-Jdbc SQL语句执行流程详解

  5. 源码分析Mybatis插件(Plugin)机制与实战

  6. Mybatis 一二级缓存实现原理与使用指南

3.12 Java8实战
  1. java8实战读书笔记:初识Stream、流的基本操作(流计算)

  2. java8实战读书笔记:Lambda表达式语法与函数式编程接口

  3. java8实战读书笔记:复合Lambda表达式

  4. java8实战读书笔记:数值流、Stream创建与Optional类的使用

  5. java8读书笔记:探究java8流收集数据原理

  6. java8实战:使用流收集数据之toList、joining、groupBy(多字段分组)

版权说明

本项目可以鼓励以学习目的进行分享传播,但未授权任何商业机构等任何商业行文。

About

java进阶,关注Java主流中间件,覆盖RocketMQ、Dubbo、Sentienl、Kafka、Canal、ElasticSearch、ElasticJob等12个专栏近300篇文章。