C++ 后端开发进阶学习大纲指南
C++后端开发是一个庞杂的技术栈,因为没有统一的开发框架并且应用行业非常广泛。所有涉猎广泛,这里就把 C++后端开发的技术点进行整理总结,看完以后,不会让你失望的。
精进基石
高性能网络设计
基础组建设计
中间件开发
开源框架
性能分析
分布式架构
上线实战
一、精进基石,分为四个方面(数据结构,设计模式,c++新特性,Linux 工程管理)
数据结构部分

设计模式

c++新特性

Linux 工程管理

二、高性能网络设计(网络编程,网络原理,协程 ntyco,用户态协议栈 ntytcp)
网络编程

网络原理

协程框架

用户态协议栈

三、基础组建设计,分为 3 部分, 池式组件,高性能组件,开源组件
池式结构

高性能组件

开源组件

四、中间件开发,6 个重要的组件(mysql,redis,TiDB,RocksDB,Nginx,MongoDB )
MySQL

TiDB

Redis

RocksDB

Nginx

MongoDB

五、开源框架
游戏后端开源框架 skynet

分布式 RPC 框架 Tars

SDN 开发框架,dpdk

六、Rust
Rust 特性

组件实现

第三方库

Rust 项目 DBProxy 代理 mysqI 与 Redis

七、性能测试(围绕 吞吐量,拆链/建链,并发,时延,四个维度参数)
测试框架 gtest 以及内存泄漏检测

火焰图的生成原理与构建方式

八、分布式架构专栏
分布式消息队列

分布式服务

分布式 API 网关

分布式存储与容器

九、上线实战项目:图床共享云存储
fastdfs 架构分析和配置

fastdfs 存储原理

分布式 fastdfs 存储集群部署

高负载 nginx/fastcg i

文件传输和接口设计

产品上云公网发布/测试用例

十、上线项目实战:微服务即时通讯
IM 即时通讯项目框架分析和部署

IM 消息服务器/文件传输服务器

消息服务器/路由服务器

数据库代理服务器设计

文件服务器和 docker 部署

产品上云公网发布/公网测试上线

按照上面推荐的内容来学习的话,要学习得深入一点的话 1 年的时间肯定需要的,甚至 2 年也不足为其。当然对于非科班的学生来说,大部分都没有充足的时间的,只是找工作的话这里建议把 C++基础、计算机网络、操作系统、网络编程、数据结构与算法这五个部分的内容学得很扎实。
评论