写点什么

C++ 后台开发学习路线

  • 2022 年 3 月 14 日
  • 本文字数:1753 字

    阅读完需:约 6 分钟

1.路线

一. 基础阶段

  1. c/c++编程语言

  2. linux 基础

  3. 数据结构与算法

  4. 设计模式

  5. 脚本语言(可选)

二. 入门阶段

  1. linux 系统编程

  2. linux 网络编程

三. 进阶阶段

  1. 数据库 mysql

  2. 分布式缓存 redis

  3. 网络库

四. 项目实践阶段

  1. 编写简单 FTP 服务器

C++入门到精通 Linux 学习链接:零基础入门 C++Linux


五. 高级阶段(可选)

  1. nginx

  2. zookeeper

  3. 消息队列

  4. skynet

  5. boost

  6. 负载均衡

  7. 容器

  8. rpc

  9. 微服务

2.C++后台所需要具备的技能

1). 软件基础

  • 1.1 数据结构与算法(磁盘存储链式的 B 树与 B+树, 海最数据去重的 Hash 与 BloomFilter, bitmap)

  • 1.2 设计模式(创建型模式, 结构型模式, 行为型模式)

  • 1.3 C++新特性(stl 容器,智能指针,正则表达式, 新特性的线程, 协程, 原子操作, lamda 表达式)

  • 1.4 Linux 工程管理(Makefile/cmake/configure, 分布式版本控制 git, Linux 系统运行时参数命令)

2). 高性能网络设计专栏

  • 2.1 网络编程(网络 io 与 select,poll。epoll, reactor 的原理与实现, http/https 服务器的实现, websocket 协议与服务器实现)

  • 2.2 网络原理(服务器百万并发实现, redis,memcached,nginx 网络组件, Posix API 与网络协议栈, UDP 的可靠传输协议 QUIC)

  • 2.3 自研框架:协程框架 NtyCo 的实现(协程设计原理与汇编实现, 协程调度器实现与性能测试)

  • 2.4 自研框架:用户态协议栈 NtyTcp 的实现(用户态协议栈设计实现, tcp/ip 定时器与滑动窗口, 手把手设计实现 epoll)

3). 基础组件设计专栏

  • 3.1 池式组件(手写线程池与性能分析, 内存池的实现与场景分析, 异步请求池的实现, mysql 连接池的实现)

  • 3.2 高性能组件(原子操作 CAS 与锁实现, 无锁消息队列实现, 定时器方案红黑树,时间轮,最小堆, 手写死锁检测组件, 手写内存泄漏检测组件, 手把手实现分布式锁)

  • 3.3 开源组件(libevent/libev 框架实战的那些坑, 异步日志方案 1og4cpp, 应用层协议设计 ProtoBuf/Thrift)

4). 中间件开发专栏

  • 4.1 MySQL(SQL 语句,索引,视图,存储过程,触发器, MySQL 索引原理以及 SQL 优化, MySQL 事务原理分析, MySQL 缓存策略)

  • 4.2 TiDB(TiDB 存储引擎的原理, TiDB 集群方案与 Replication 原理)

  • 4.3 Redis(Redis 相关命令详解及其原理, Red is 协议与异步方式, 存储原理与数据模型, 主从同步与对象模型)

  • 4.4 RocksDB(不一样的 kv 存储 RocksDB 的使用场景, RocksDB 的特殊操作)

  • 4.5 Nginx(Nginx 反向代理与系统参数配置 conf 原理, Nginx 过滤器模块实现, Nginx Handler 模块实现)

  • 4.5 MongoDB(接口编程与文档操作, 集群方案与持久化备份)

5). 开源框架专栏

  • 5.1 skynet(Skynet 设计原理, skynet 网络层封装以及 lua/c 接口编程, skynet 重要组件以及手撕游戏项目)

  • 5.2 TARS(TARS RPC 服务模型原理, TARS 公共框架服务与数据库, 数据监控与服务性能压测)

  • 5.3 DPDK(DPDK 环境与 testpmd/l3fwd/skeletion, DPDK 的用户态协议栈, 千万级流量并发的 dns 处理, 高性能数据处理框架 vpp, DPDK 的虚拟交换机框架 0vS)

6). Rust 项目专栏

  • 6.1 Rust 特性精讲(Rust Slice 类型与泛型, Rust 文件操作与错误处理, Rust 并发编程与智能指针)

  • 6.2 组件实现(网卡速度监控, OAuth2 第三方登陆)

  • 6.3 第三方库(Rust 异步框架 tokio, Rust web 框架 Warp, Rust http 库 hyper)

7).性能分析专栏

  • 7.1 测试框架 gtest 以及内存泄漏检测(函数检测以及类测试,test fixture 测试夹具,类型参数化,事件测试,内存泄漏)

  • 7.2 火焰图的生成原理与构建方式(火焰图使用场景与原理,nginx 动态火焰图,MySQL 火焰图,Redis 火焰图)

8). 分布式架构专栏

  • 8.1 分布式消息队列(Kafka 使用场景与设计原理, Kafka 存储机制)

  • 8.2 分布式服务(远程调用 brpc, 注册服务中心 Etcd)

  • 8.3 分布式 API 网关(Kong 动态负载均衡与服务发现, Kong 实时监控与 REST API)

  • 8.4 分布式存储与容器(内核级支持的分布式存储 Ceph, 服务容器化 Docker)

9). 上线项目实战

  • 9.1 图床共享云存储(fastdfs 架构分析和配置, fastdfs 存储原理,分布式 fastdfs 存储集群部署, 高负载 nginx/fastcgi, 文件传输和接口设计, 产品上云公网发布/测试用例)

  • 9.2 微服务即时通讯(IM 即时通讯项目框架分析和部署, IM 消息服务器/文件传输服务器, 消息服务器/路由服务器, 数据库代理服务器设计, 文件服务器和 docker 部署, 产品上云公网发布/公网测试上线)

10).清晰版学习路线导图点击 学习导图 获取

C++后台开发学习地址:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频

用户头像

Linux服务器开发qun720209036,欢迎来交流 2020.11.26 加入

专注C/C++ Linux后台服务器开发。

评论

发布
暂无评论
C++后台开发学习路线_后台开发_Linux服务器开发_InfoQ写作平台