基础篇温馨提示:上图是『中间件兴趣圈』已覆盖的知识图谱,文末有指引可获得原图。
俗话说磨刀不误砍柴工,要想顺畅的驰骋在JAVA中间件的世界中,打好基础是必不可少的一环,笔者首先阅读了JDK常用的集合类源码,从中深刻理解了ArrayList、linkedLi
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
st、HashMap、Queue等基础数据结构的设计理念与使用场景。
然后是重点研究JUC框架,这是编写高并发编程最有效最基本的法宝,受限于每个人的职场经历并不是每个人一步入职场就能接触到高并发,大数据,在无法接触时,我们只有透彻理解JUC,做好准备,等待与寻找时机。
互联网架构体系天然就是分布式的架构,网络通讯成为另外一项基础,故笔者选择了一款高性能的NIO框架:Netty,从内存、通道、实战三个角度成体系剖析了Netty。
服务化打牢基础,开始驰骋江湖。伴随分布式微服务架构的兴起,服务化类框架成为互联网架构体系中不可或缺的一环,例如 Dubbo、SpringCould 等服务化框架成为大家的互联网架构师的宠儿,由于我所接触的公司大都采用 Dubbo,故在微服务领域我选择了Dubbo来构建我的技术栈。
微服务框架需要解决两大基本问题:服务注册与发现、服务治理,故依次连载 了 Dubbo 与 Sentinel 系列。
消息中间件互联网的另外一个重点就是流量大,特别是瞬发流量特别大,双十一、618等大促表现的更是如此突出,如何抗住突发流量,有效保护系统并最大程度接受流量成为互联网架构师们急需解决的问题,消息中间件“闪亮登场”。
JAVA领悟目前市面上存在两款非常优秀的消息中间件:Kafka、RocketMQ,通常在日志、大数据领域选用Kafka居多,业务领悟会优先考虑RocketMQ,为此发布了源码分析Kafka、RocketMQ原理与实战两个系列。
分库分表与数据异构互联网架构中流量异常大,与之对应的数据同样庞大,关系型数据库同城会采用分库分表来解决单库的性能瓶颈,但与之带来的是数据统计(聚合)、跨库Join会面临较大的挑战,故引入了数据异构的架构设计模式,实时在线业务走MySQL分库分表,非实时查询、聚合查询选择其他存储介质,例如 ElasticSearch,即通过订阅 mysql binlog日志,将数据同步到 Elasticsearch,同城采用的架构设计为 mysql mycat canal rocketmq elasticsearch。
未来展望为了继续构建完备的互联网架构体系,『中间件兴趣圈』将关注线上诊断 Arthas、链路监控 Cat 等。



