C++后台开发学习路线

1.路线

一. 基础阶段

  1. c/c++编程语言

  2. linux基础

  3. 数据结构与算法

  4. 设计模式

  5. 脚本语言(可选)

二. 入门阶段

  1. linux系统编程

  2. linux网络编程

三. 进阶阶段

  1. 数据库mysql

  2. 分布式缓存redis

  3. 网络库

四. 项目实践阶段

  1. 编写简单FTP服务器

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

C++后台开发学习路线_第1张图片

​五. 高级阶段(可选)

  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后台架构师-学习视频

C++后台开发学习路线_第2张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

你可能感兴趣的:(Linux服务器开发,Linux后台开发,C/C++,C/C++,后台开发,Linux服务器开发,C++后台开发,后端开发)