中间件兴趣圈公众号,一定能成为你在java领域的进阶之梯,旨在成体系剖析Java主流中间件,构建互联网分布式架构体系,助力突破大厂,从源码分析、架构设计、线上故障案例剖析、实战等4个维度开展,目前已覆盖Netty、RocketMQ、Dubbo、Sentienl、Kafka、Canal、ElasticSearch、ElasticJob等12个专栏近300篇文章。
由于公众号对历史文章不太友好,应粉丝朋友们的要求,我将公众号所有专栏内容同步到github,希望对大家阅读带来便利。
中间件技术是进入互联网大厂的敲门砖,深入掌握1-2个主流中间件,很大可能性突破BAT等大厂,期待Star支持一波
建议各位粉丝朋友们,关注一下我的公众号,以便及时获取最新的更新内容,与笔者近距离沟通交流。
也欢迎大家扫一扫加我好友(备注:github),拉你进学习交流群,里面有各位BAT等一线互联网大佬,可以提问,内推等,一起抱团取暖。
『中间件兴趣圈』公众号分享的主要内容包含开源项目、电子书、专栏,接下来一一介绍给大家。
主要是提炼或开源一些入门代码,方便大家更加深刻的理解中间件,理论与实践结合,目前已包括 rocketmq-learing与 netty-learning。
1、RocketMQ入门实例 结合场景介绍RocketMQ使用。
代码链接:rocketmq-learning
2、Netty入门实例 提取RocketMQ RPC模块代码进行封装,提供一个可直接使用的netty框架,结合Netty专栏,理论与实践相结合。
代码链接:netty-learning
为了更加方便读者朋友对专栏内容的阅读,会将公众号中的专栏转化为电子书,目前已将RocketMQ专栏转化为两本电子书:
获取方式:关注『中间件兴趣圈』,回复GRF,即可免费获取。
《重学Java高并发》专栏特色:结合10余年的工作经验,在实践中提炼总结高并发经验,将理论落到实处,不仅助力面试,更是真正提高技能。
- 《重学Java高并发》之“摸底考试”:你会使用多线程实现生产者-消费者协作模型吗?
- 你管这“破玩意儿”叫锁
- java并发高频面试题:Sempahore的使用场景与常见误区
- 《重学Java高并发》同步转异步编程技巧与实战运用
- 《重学Java高并发》线程之间如何协作(父子线程如何优雅交互)
- disruptor在数据同步场景下的应用实战
- 《重学Java高并发》disruptor是如何做到百万级吞吐?
- 《重学Java高并发》Disruptor使用实战
《让天下没有难学的Netty》专栏将从通道篇、内存篇、性能篇、实战篇详细剖析Netty的实现原理、设计理念,同时通过抽取Apache顶级项目RocketMQ的网络通信模块,构建一个可直接使用的Netty网络通信框架。
- Netty4 Channel 概述
- Netty4 ChannelHandler 概述
- Netty4 事件处理传播机制
- 图文并茂剖析Netty编解码以及背后的设计理念
- 一文揭晓通信协议设计的奥妙,直接"秒杀"面试官
- 面试官:Netty的线程模型可不是Reactor这么简单
- Netty进阶:手把手教你如何编写一个NIO客户端
- Netty进阶:手把手教你如何编写一个NIO服务端
- 阿里面试真题:NIO为什么不适合文件上传场景、如何优雅解决
- 大厂Offer收割机:Netty处理写事件之连环四问,你能抗住吗?
- 构建Netty4通道的体系化思维,这些方法你应该关注
- NIO界最强“Hello World”,不服来辩!!!
- 网上关于“零拷贝”原理相关的文章满天飞,但你知道如何使用零拷贝吗
- 我的另一种参与 RocketMQ 开源社区的方式
- 线上环境大规模RocketMQ集群不停机优雅升级实践
- 性能调优篇:困扰我半年之久的RocketMQ timeout exception 终于被破解了
- (架构实战)你的RocketMQ集群是安全的吗?
- 第一次尝试为Apache顶级开源项目贡献代码
- 队列数量变更会导致顺序消费失效,我是这样解决的...
- 生产环境出现网络分区,RocketMQ集群表示毫无压力!!!
- 7张图揭晓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 多副本即主从切换实现原理
Kafka专栏
- 初识 Kafka Producer 生产者
- 源码分析 Kafka 消息发送流程(文末附流程图)
- KafkaProducer Sender 线程详解(含详细的执行流程图)
- 初始 Kafka Consumer 消费者
- 源码分析Kafka 消息拉取流程(文末两张流程图)
- Kafka 和 RocketMQ 之性能对比
- 跟我学Kafka:如何高效运维之主题篇
- 从实战中认识Kafka消费组
- 通过一个Kafka故障解决过程阐述架构师必须具备的架构思维
- 图解Kafka消息发送者核心参数与工作机制
- 初始 Kafka Consumer 消费者
- “有的放矢”才是性能优化的正确打开方式
- Kafka性能调优实战:同等资源配置性能提升20几倍的秘诀
- 关于Kafka消费者的这些参数你应该要知道?
- 怒肝15天终于一举拿下Kafka的重平衡机制
- 一文读懂kafka消息拉取机制|线程拉取模型
- Kafka中的这只“千里眼”,你需要知道!!!
- 答读者问:Kafka顺序消费吞吐量下降该如何优化?
以源码分析为主要手段,结合图解的方式深入剖析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 专栏谈谈我的源码阅读方法
本系列文章主要针对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服务治理之灰度发布方案(版本发布控制影响范围)
本专栏是对官方文档的完善与补充,立足与实战。
- 数据异构重器之 Canal 初探
- 一文详解 Canal Instance 设计理念与定制开发思路
- 探究 Canal EventParser 的设计与实现奥妙
- Canal 如何保证数据库库事务的一致性
- Canal 初次启动时如何定位同步位点(文末附流程图)
- Canal binlog 日志管理器与GTID简介
- [Canal binlog 日志 Dump 流程分析](
源码分析ElasticJob研究系列主要要两个学习目标:
- 了解分布式调度平台ElasticJob的实现原理
- 掌握curator开源框架操作ZK
源码分析Mybatis专栏,目前重点关注Mybatis的初始化流程、SQL执行流程、Mybatis扩展机制与缓存机制。创作背景是我在落地公司全链路压测系统时,调研数据库层面的数据隔离方案时做的一些技术研究。
本项目可以鼓励以学习目的进行分享传播,但未授权任何商业机构等任何商业行文。