ArchCamp 2024 is a full practice training for MicroServices, CellArchitecure, popular Middlewires.
组织介绍

【全员通知】一个大行动2024继续努力 #架构全营,改变命运#

背景

最近1个多月跟很多同学做职业规划和就业辅导,发现了几个问题:

1、大家因为学历、或者工作背景、工作年限等原因,老是距离自己理想的公司职位差一点,够不到。

2、2024年的整体经济形势应该会比前两年更差,很多同学对于换工作过了乐观了。此时更应该养精蓄锐,厚积薄发跑别人前面。

3、有些同学工作多年,之前学和用的技术架构,很多还浮于表面,没有沉下来好好的大规模项目里做实践。 实际上,如果在这些方面有短板,那么只需要通过一系列系统的培训学习和参与活动,在其他方面足够强就可以完全弥补掉,比如参与了大型项目或者开源项目,自己出过技术书,对于各类开源技术/框架/中间件底层细节很了解能解决问题等。

我计划2月份启动一个新训练营,为期一年,前几个月手撸几个中间件(把底层原理都搞懂),接着几个月讲大型金融核心系统的分布式架构设计细节,然后带大家做设计,再接下来几个月实现出来,我推动这个东西开源,最后的2个月,大家小组讨论总结,然后每个组出本书。

==》这个事儿解决这么几个问题: 1、让大家都能懂常见框架和中间件技术的底层原理,能够分析解决问题。 2、懂大型金融核心的分布式架构,并且实践过,能对于一般项目架构信手拈来。 3、写大量代码,把之前的训练营里的东西都用起来。 4、顶级开源项目 加成。 5、出过技术书 加成。 6、每个同学的github上都有一堆自己实现的完整中间件。

这样大家可以冲一把,一年肯定能成为一个各方面能力都很综合全面的架构师。

课程形式

整体时间

2024.2.29 - 2025.2.28(一年)

整体目标

实现一套分布式技术平台(单元化架构+微服务+分布式组件)

2024.1-2:预备期,报名
2024.3-5:天工营,全员课程,手撸中间件,包括高级功能和生产级特性。 
2024.6-8:设计营,设计经验讲解+分组带领大家做设计,整体设计+组件设计。
2024.9-12:实践营,分组进行设计的代码实践,多个老师带领大家来做。
2025.1-2:体系营,整理所有的文档,形成体系化的材料,变成书稿。
2025.3:结营,推动开源和出版。

人数控制在50-100人左右。
人数超过75人,加料批量处理部分。(否则放到二期)
人数达到95人,加料大数据处理部分。(否则放到二期)
后续计划:二期做云原生的部分。

课程大纲

天工营(3个月)

从0到1,到100,以8个框架/中间件为核心,深入动手实现框架/中间件的核心功能和高阶能力。做到以后讨论常用中间件,都对技术细节了如指掌,并且在自己的建立和github留下多个手撸的完全实现。

第一部分:RPC框架(以此为例,细化如下) 具体功能需要进一步细化到详细的点。

1. RPC的基本概念
  1. 从基本原理图讲解
  2. 作用与用途
2. 网络协议,序列化协议
  1. 网络协议:TCP/HTTP/HTTP2
  2. 序列化:JSON,XML,hessian,thrift自定义格式
3. 设计服务接口与元数据
  1. 服务接口设计
  2. 元数据描述信息
4. 服务提供者Skeleton,服务消费者Stub
  1. 动态代理生成stub
  2. 元数据映射关系
5. 设计网络协议和序列化协议
  1. JSON格式
  2. HTTP,复用springboot
6. 设计服务Skeleton
  1. 服务端寻址
  2. 添加注解
  3. 注解处理,注意优雅启动
7. 设计服务Stub
  1. 客户端调用关系
  2. 过滤掉非业务方法
  3. 添加注解
8. 基于ZK设计服务注册功能
  1. 实现ZK操作
  2. 实现优雅启动注册
  3. 实现优雅停机关闭
  4. 实现namespace隔离
9. 基于ZK实现服务发现功能
  1. 实现ZK订阅处理
  2. 实现ZK变动处理
  3. 实现优雅停机关闭
  4. 实现namespace隔离
10. 实现服务的路由机制
  1. 路由接口设计
  2. 默认路由实现
  3. 基于tag的路由实现
11. 实现服务的负载均衡机制
  1. 随机
  2. RR
  3. 权重
12. 实现服务的过滤器机制
  1. 客户端filter
  2. 服务端filter
  3. cache filter实现
13. 调优服务提供者和消费者性能
  1. 服务提供者调优,线程池调优
  2. 服务消费者调优,线程池和连接池调优
14. 实现服务的限流机制
  1. 整合Sentinel或独立实现
  2. 不同服务层级限流
  3. 数据库访问限流
  4. 线程池与调用计数
15. 实现服务的容错机制
  1. 实现错误分类设计
  2. 实现错误的时间窗口计数
  3. 实现故障隔离机制
  4. 实现故障探测与恢复
16. 实现重试与超时机制
  1. 实现不同层级的超时控制
  2. 实现重试策略和回退策略
  3. 实现超时漏斗设计
17. 实现挡板机制
  1. 实现服务挡板
  2. 实现网关挡板
18. 实现优雅启停机制
  1. 服务预热
  2. 延迟注册
  3. 线程池优雅关闭
  4. 连接池优雅关闭
  5. 注册中心、配置中心连接优雅关闭
19. 实现多机房容灾
  1. 基于Tag实现DC/zone 路由支持
  2. 基于DC/zone 实现流量调拨
  3. 实现多DC/zone 的服务调用和LB
20. 实现滚动部署/蓝绿部署
  1. 实现滚动发布
  2. 实现蓝绿发布
21. 实现灰度发布
  1. 支持不同层级服务灰度
  2. 支持全链路灰度发布
第二部分:MQ消息系统(后续提供)
第三部分:Cache缓存系统(后续提供)
第四部分:Gateway网关(后续提供)
第五部分:Sharding分库分表(后续提供)
第六部分:Registry注册中心(后续提供)
第七部分:Config配置中心(后续提供)
第八部分:DFS分布式文件系统(后续提供)

设计营(3个月)

讲解过去几年的大型金融机构实践经验,指导各组完成技术选型和方案设计。

> 第一部分:单元化整体设计(单元化+微服务+组件=分布式技术平台)
> - 整体单元化方案,单元规划,路由方案,部署方案,高可用方案
> 第二部分:单元化组件设计(分库分表+全局路由+交易转发)
> - 数据访问组件,分库分表组件,单元化与分库分表整合,全局路由详细设计,交易路由转发
> 第三部分:微服务架构设计(金融级高并发微服务体系)
> - RPC调用,配置中心整合,配置分级,注册中心整合,注册中心数据同步,网关单元化整合,网关与注册中心整合,微服务调用链路与性能优化
> 第四部分:微服务治理设计(服务治理+高可用+容灾)
> - 单元与数据中心设计,流量控制,服务降级,故障隔离,容错控制,超时重试,服务预热,优雅停机,服务挡板,流量调拨,单元切换,跨中心容灾,扩缩容等,非功能设计与测试
> 第五部分:分布式能力设计(分布式文件+分布式序号+参数+消息队列)
> - 分布式文件+分布式序号+参数+消息队列,等等
> 第六部分:分布式数据设计(缓存+数据库高可用集群+分布式事务)
> - 分布式缓存+数据库高可用集群+分布式事务,等等

实践营(4个月)

课程采用JDK17+SpringCloud2023+SpringBoot3.2.1,技术采用最新的版本,保持大家的技术竞争力。

> 第一部分:微服务能力
> - 实现微服务基础骨架
> - 实现微服务贯标设计
> - 实现微服务高可用
> - 实现微服务治理能力
> 第二部分:数据能力
> - 实现数据访问能力
> - 分库分表组件
> - 数据库高可用
> - 分布式事务
> - 分布式事务与微服务整合
> 第三部分:单元化能力
> - 实现单元规划
> - 实现全局路由查询与维护
> - 实现交易路由转发
> - 单元化与分库分表整合
> - 单元化与微服务整合:注册中心、网关
> 第四部分:分布式能力
> - 分布式文件能力
> - 分布式序号能力
> - 参数查询与维护
> - 不同层级的消息中心能力
> - 性能分析与优化能力
> - 高可用与容灾能力
> 第五部分:应用集成能力/大规模业务开发
> - 开发核心业务验证技术平台分布式能力
> 第六部分:技术专题
> - JVM专项技术:制定JVM使用规范,参数规范,调优过程规范。
> - 非功能测试专题:测试性能,高可用,自动化与混沌工程。

体系营(2个月)

1、手动实现xxx,整理成系统性材料,有理论和实现,争取成书。
- 上册:从0开始实现微服务框架/中间件,RPC+Config+Registry+Gateway
- 下册:从0开始实现分布式中间件,MQ+Cache+Sharding+DFS
2、实践的部分,每个组争取梳理成体系化的材料,说清楚来龙去脉,技术选择的逻辑,背景,应用场景,最后成为一套:设计方案,项目文档,技术书(先电子书,然后出版,每个组自己署名)。

暂定的部分如下:

> 1. 《单元化架构实战》:
> 2. 《分布式技术平台设计》:
> 3. 《微服务治理:基于SpringCloud技术体系》:
> 4. 《分布式技术组件实战》:
> 5. 《分布式体系下的高可用与容灾》:
> 6. 《微服务体系的性能优化》:
> 7. 《分布式技术体系下的非功能设计》:
> 8. 《分布式事务设计与实践》:
> 9. 《分布式缓存平台的设计与实践》:
> 10. 《分布式消息体系的设计》:
> 11. 《。。。。。。》

口号

架构全营,改变命运。 二零二四,精彩一生。

报名方式

直接微信加 kimmking,秦老师要针对本期的所有学员进行了解情况,针对性的进行指导和后续的培训。 所有培训过程中,秦老师都会跟进每个人的学习情况,争取做到每个人都跟得上进度,不掉队,一年后都是精英。

成就
25
Star
18
Fork
成员(1)
9121 kimmking 1578914617
kimmking

搜索帮助