- RPC
- 通信与数据协议
- WebService
- Hessian
- REST
- gRPC
- Protocol Buffers
- 服务治理
- 配置管理
- 注册发现
- 服务分组
- 版本管理
- 集群管理
- 负载均衡
- 限流与降级熔断等
- Apache Dubbo的功能与原理分析
- Spring Cloud体系
- 案例实践
- 微服务架构的6个最佳实践
- 从微服务到服务网格、云原生的介绍
- 缓存的应用场景,缓存加载策略与失效策略,缓存与数据库同步等
- 缓存预热、缓存失效、缓存击穿、缓存雪崩、多级缓存、缓存与 Spring+ORM 框架集成
- 缓存中间件,Redis(几种常用数据结构、分布式锁、Lua 支持、集群),Hazelcast(Java 数据结构、内存网格、事务支持、集群)
- 缓存的应用场景,排行数据展示,分布式 ID 生成,Session 共享,热点账户操作等
- Broker 与 Client
- 消息模式(点对点、发布订阅)
- 消息协议(STOMP、JMS、AMQP、OpenMessaging 等)
- 消息 QoS(最多一次、最少一次、有且仅有一次)
- 消息重试
- 延迟投递
- 事务性
- 消息幂等与去重
- ActiveMQ 的简单入门
- Kafka 的基本功能与使用
- 高可用(集群、分区、副本)
- 性能
- RabbitMQ 和 RocketMQ,Pulsar 的简单介绍
- 搭建一个 Kafka 集群
- 实现常用的消息发送、消息消费功能
- 使用 MQ 实现交易订单的处理
- 动手实现一个简化版的消息队列
业务分析、功能性需求、非功能性需求、高可用、高性能、稳定性、易用性、扩展性、可维护性、安全性等
“4+1” Views、TOGAF、架构方案、业务架构、数据架构、设计文档、技术选型、部署文档、运维文档等
分布式服务化、分布式消息中间件、分布式缓存、分布式文件系统、监控告警系统、权限与认证中心等
- 分析系统现状,给出明确的各项指标,了解各方对指标的期望和差距
- 给出多个可选的改造或重做方案,明确各方案的优缺点,提供决策依据
- 方案上的适当妥协,各方达成一致,快速推动重构工作启动和展开
- 细化具体的方案细节,形成路径,争取足够的资源,恰当的时间窗口
- 小步快跑,迅速取得阶段性成果,不影响业务整体的规划和发展
- 保持业务连续性,多做监控、兼容和特性开关,给改造加上保险丝和缓冲区
- 及时评估改进进展,更新方案和路线、资源和时间,推动改造顺利进行
- 复盘总结相关经验,提出更多建议和改进办法,实现经验分享,方法复用
- 分享我个人的成长第一手经验,升级打怪,成为架构师、技术专家、技术总监
- 六个硬能力:技术能力、设计能力、抽象能力、管理能力、结构化思考能力、系统化分析能力
- 七个软实力:大局观能力、沟通协作能力、持续学习能力、关注力、探索力、决策力、自我驱动力
- Binlog,Row/Statement 模式
- 读写分离/主从复制
- 主从切换
- 分库分表
- 分布式主键
- 分表算法
- SQL 限制
- 数据迁移
- 实时同步
- TDDL
- Sharding-JDBC
- MyCat
- Sharding-Proxy
- 数据库拆分
- 分布式事务
- 多租户
- 日志
- 调用链
- 指标度量
- CPU、内存、磁盘/网络 IO
- 锁
- 事务
- 索引
- 并发级别
- 死锁
- 执行计划
- 慢SQL统计
- 参数优化
- 引擎选择
- 表结构优化设计
- 列类型选择
- 索引设计
- 外键
- 索引选择
- 连接优化
- 聚合查询优化
- Union 优化
- 子查询优化
- 条件优化
- 主键生成与优化
- 高效分页
- 快速导入导出数据
- 解决死锁问题
- core
- Web
- MVC
- Data
- messaging
- Boot
- JPA
- Hibernate
- Mybatis
- 线程、锁、synchronized、volatile/final、sleep/await/notify/fork/join
- 线程池 Executor
- AQS/CAS
- Atomic 原子操作
- Lock/ReadWriteLock/Condition
- Callable/Future
- BlockingQueue/CopyOnWriteList/ConcurrentHashMap
- CountDownLatch/CyclicBarrier/Semaphore
- 万金油 ThreadLocal,化繁为简 Java8 parallelStream
- 同步/异步
- 阻塞/非阻塞
- BIO、NIO、AIO
- Reactor/Proactor
- ByteBuff/Acceptor/Channel/Handler
- NioEventLoopGroup/EventLoop、bossGroup/workerGroup
- Netty 的启动和执行过程
- 线程模型
- 事件驱动
- 服务端和客户端的使用方式
- 常见的 API Gateway/HTTP Server
- SEDA 原理
- 业务 API 网关的功能和结构
- Throughout/TPS/QPS
- Latency/P99/P95/P90
- ApacheBench/Wrk/JMeter/LoadRunner
- JVM 基础知识
- Java 字节码技术
- JVM 类加载器
- JVM 内存模型
- JVM 启动参数详解
- JDK 内置命令行工具
- JDK 内置图形界面工具
- JDWP 简介
- JMX 与相关工具
- 常见的 JVM GC 算法(Parallel GC/CMS GC/G1 GC)基本原理和特点
- 新一代 GC 算法(Java11 ZGC/Java12 Shenandoah) 和 Oracle GraalVM
- GC 日志解读与分析
- JVM 的线程堆栈等数据分析
- 内存 dump 和内存分析工具
- fastThread 相关工具以及面临复杂问题时的几个高级工具的使用
- JVM 问题排查分析的常用手段、性能调优的最佳实践经验等