课程介绍
课程介绍:
本课程是一门专为 进阶开发者、架构师 设计的系统化技术修炼营,覆盖 Linux内核、网络、内存管理、进程调度 等底层知识,并带你 从0到1手写高性能分布式IM系统,提升你的 底层原理认知与架构设计能力。
课程亮点:
深入操作系统底层:掌握 三次握手、epoll多路复用、网络收发包机制、NUMA内存管理、进程调度 等核心原理。
系统硬件优化:解析 CPU微架构、内存硬件、ECC校验、NUMA优化,帮助你构建高性能计算基础。
分布式高并发架构:从 IM系统架构设计、DAG业务编排、消息存储、全球数据中心同步 到 分布式ID生成、会话管理,手写高性能IM系统。
真实企业级实践:结合 Redis、Nginx、Netty、Golang 高性能应用优化,全面提升实战能力。
课程目录
(1)\开发内功修炼营
(2)\手写分布式IM系统
(3)\开发内功修炼营\01.网络管理;目录中文件数:23个
├─01:三次握手内部实现原理.mp4
├─02:常见三次握手异常.mp4
├─03:同步阻塞的内核实现原理.mp4
├─04:epoll多路复用的内部实现.mp4
├─05:epoll应用案例之高性能redis.mp4
├─06:epoll应用案例之高性能nginx.mp4
├─07:resueport及其在nginx中的应用(含实验).mp4
├─08:epoll应用案例之高性能Golang.mp4
├─09:内核是如何接收网络包的(1).mp4
├─09:内核是如何接收网络包的(2).mp4
├─10:内核是如何发送网络包的(1).mp4
├─10:内核是如何发送网络包的(2).mp4
├─11:本机网络IO工作原理.mp4
├─12:比127.0.0.1更快的UDS通信(含实验).mp4
├─13: 网络收发包过程中的路由原理.mp4
├─14:网络收发包应用之抓包(含实验).mp4
├─15:网络收发包应用之iptables.mp4
├─16:网络连接的内存开销.mp4
├─17:Linux打开文件数限制原理.mp4
├─18:连接数突破端口号65535方法.mp4
├─19:(实验)单机百万TCP连接.mp4
├─20:加餐之epoll应用案例Java Netty包(1).mp4
├─20:加餐之epoll应用案例Java Netty包(2).mp4
(4)\开发内功修炼营\02.硬件原理;目录中文件数:12个
├─01:CPU物理硬件生产过程.mp4
├─02:个人PC CPU内部原理介绍(1).mp4
├─02:个人PC CPU内部原理介绍(2).mp4
├─04:CPU核的微架构.mp4
├─05:个人CPU和服务器CPU的区别.mp4
├─06:CPU对内存的硬件支持(1).mp4
├─06:CPU对内存的硬件支持(2).mp4
├─07:服务器ECC内存工作原理.mp4
├─08:内存硬件内部结构.mp4
├─09:内存IO过程.mp4
├─10:内存存储性能测试(1).mp4
├─10:内存存储性能测试(2).mp4
(5)\开发内功修炼营\03.内存管理部分视频课;目录中文件数:14个
├─01:内核的物理内存安装检测.mp4
├─02:内核的初期memblock内存分配器.mp4
├─03:内核之内存NUMA信息感知.mp4
├─04:内核伙伴系统物理内存管理.mp4
├─05:内核的SLAB内存分配器.mp4
├─06:用户进程虚拟内存机制.mp4
├─07:内存管理系统调用原理(1).mp4
├─07:内存管理系统调用原理(2).mp4
├─08:进程栈内存的工作原理.mp4
├─09:线程栈内存的工作原理.mp4
├─10: 堆内存管理原理介绍(1).mp4
├─10: 堆内存管理原理介绍(2).mp4
├─11:跨进程共享内存工作原理(1).mp4
├─11:跨进程共享内存工作原理(2).mp4
(6)\开发内功修炼营\04.进程管理;目录中文件数:19个
├─01:进程的实现原理介绍.mp4
├─02:fork创建进程过程 (1).mp4
├─02:fork创建进程过程(2).mp4
├─03:进程pid管理.mp4
├─04:线程的创建过程.mp4
├─05:进程与线程的对比.mp4
├─06 :(实验)ELF可执行文件基本格式.mp4
├─07:进程加载启动原理.mp4
├─08:Linux调度器发展史.mp4
├─09:Linux调度器的定义.mp4
├─10:进程调度器初始化和核选择.mp4
├─11:完全公平调度器是如何工作的(1).mp4
├─11:完全公平调度器是如何工作的(2).mp4
├─12:调度器干预命令介绍.mp4
├─13:深度解析Linux负载指标.mp4
├─14:CPU利用率统计原理(1).mp4
├─14:CPU利用率统计原理(2) 含实验.mp4
├─15:上下文切换开销(实验).mp4
├─16:任务迁移对应用性能的影响.mp4
(7)\手写分布式IM系统\Plato第二部分-业务架构实现
├─03 IM业务编排DAG架构.mp4
(8)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)
(9)\手写分布式IM系统\Plato第二部分-业务架构实现\01.核心领域实现
├─04 用户领域服务设计与实现.mp4
├─05 用户域设计与实现-LAB3B要求.mp4
├─06 用户域设计与实现-LAB3B-源码阅读.mp4
(10)\手写分布式IM系统\Plato第二部分-业务架构实现\02.消息领域服务设计
├─07 消息系统设计-需求分析.mp4
├─08 消息系统设计-设计目标.mp4
├─09 消息系统设计-存储结构.mp4
├─10 消息系统设计-存储服务.mp4
├─11 消息系统设计-分发架构.mp4
├─12 消息系统设计-消息全球数据中心同步.mp4
├─13 消息系统设计-实现细节.mp4
(11)\手写分布式IM系统\Plato第二部分-业务架构实现\03.会话领域服务设计
├─15 会话领域需求分析.mp4
├─16 分布式ID生成算法.mp4
├─17 大规模架构优化.mp4
├─18 高可用性.mp4
├─19 任务分解.mp4
├─20 如何面试?.mp4
(12)\手写分布式IM系统\Plato第二部分-业务架构实现\04.IMCloud 即时通信中台化
├─21 需求分析.mp4
├─22 基本架构01.mp4
├─23 基本架构02.mp4
├─24 大规模分布式系统的可观测性.mp4
├─25 稳定性度量方法.mp4
├─26 多租户架构设计&面试亮点总结.mp4
(13)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\01.消息协议设计
├─01.基本·协议设计.mp4
├─02 消息可用性(一)-基本概念.mp4
├─03 消息可用性(二)-背景介绍.mp4
├─04 消息可用性(三)-方案选型.mp4
├─05.消息可用性(四)-上行消息.mp4
├─06.消息可用性(五)-消息转发.mp4
├─07 消息可用性(六)-下行消息.mp4
(14)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\02.长连接网关设计(一)-基本实现
├─08 背景介绍.mp4
├─09 基本分析.mp4
├─10 设计目标.mp4
├─11 ip选择.mp4
├─12 并发模型.mp4
├─13 内存布局.mp4
(15)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\03.长连接网关设计(二)-连接可用性
├─14 长连接网关设计(二)-连接可用性-消息路由.mp4
├─15 长连接网关设计(二)-连接可用性-断线重连.mp4
├─16 长连接网关设计(二)-连接可用性-服务重启1.mp4
├─17 长连接网关设计(二)-连接可用性-服务重启2.mp4
├─18 长连接网关设计(二)-连接可用性-限流.mp4
(16)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\04.长连接网关设计(三)-通用性&多IDC&方案总结
├─19 消息中台.mp4
├─20 通用设计1.mp4
├─21 通用设计2.mp4
├─22 多IDC方案.mp4
├─23 方案总结.mp4
├─24 下行消息.mp4
├─25 平滑迁移.mp4
(17)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\05.领域驱动设计(一)-设计方法
├─26 什么是DDD.mp4
├─27 名词解释.mp4
├─28 名词术语.mp4
├─29 DDD应用流程.mp4
├─30 登月的原始需求.mp4
├─31 阿波罗1.mp4
├─32 阿波罗2.mp4
├─33 hardcore system design.mp4
(18)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\06.领域驱动设计(二)-IM系统的微服务划分
├─34 背景分析.mp4
├─35 设计目标.mp4
├─36 解决方案1.mp4
├─37 解决方案2.mp4
├─38 添加约束.mp4
├─39 微服务划分.mp4
(19)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\07.分布式缓存设计(一)-低延迟&高吞吐优化策略
├─40 分布式缓存介绍.mp4
├─41 评估标准.mp4
├─42 基本方案.mp4
├─43 延迟优化1.mp4
├─44 延迟优化2.mp4
├─45 延迟优化3.mp4
├─46 高吞吐优化.mp4
(20)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\08.分布式缓存设计(二)-高可用&一致性优化策略
├─47 缓存高可用1.mp4
├─48 缓存高可用2.mp4
├─49 缓存高可用3.mp4
├─50 缓存一致性1.mp4
├─51 缓存一致性2.mp4
├─52 运维.mp4
(21)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\09.分布式存储(一)-IM的存储模型设计
├─53 背景介绍.mp4
├─54 实现方案.mp4
├─55 历史存储.mp4
├─56 复杂性治理.mp4
(22)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\10.分布式存储(二)-万人群聊优化
├─57 万人群聊1.mp4
├─58 万人群聊2.mp4
(23)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\11.LAB0-独立完成IM系统架构设计
├─59 架构总结.mp4
(24)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\12.LAB1-实现IM命令行客户端
├─61 客户端框架的设计.mp4
├─62 客户端实现源码导读.mp4
(25)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\13实现 IP Config – 长连接调度引擎&LAB2A
├─63 设计目标.mp4
├─64 架构设计.mp4
├─65 LAB2A_实现ipconf server.mp4
├─66 源码参考阅读.mp4
(26)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\14.实现 IM Gateway-持有socket长连&LAB2B
├─67 背景介绍.mp4
├─68 socket状态机.mp4
├─70 gateway 源码参考阅读.mp4
(27)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\15.实现 IM Gateway-控制长连接收发消息&LAB2C
├─71 设计方案.mp4
├─73 源码分析.mp4
(28)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\16.实现 State Server(一) -生命周期&LAB2D
├─74 长连接生命周期管理.mp4
├─76 源码阅读1.mp4
├─77 源码阅读2.mp4
(29)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\17.实现 state server(二)-实现消息状态机
├─78 消息可靠性设计.mp4
├─80 连接可靠性源码阅读.mp4
(30)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\18.实现State Server(三)-分布式化(高可用可伸缩)
├─81 介绍.mp4
├─82 消息状态机的分布式化.mp4
├─83 实现存算分离&单元化部署.mp4
(31)\手写分布式IM系统\手写分布式IM系统-Plato(第一部分)\19.LAB2:实现完整长连接网关层
├─85 源码导读.mp4
请先
!