C++ linux服务器开发架构师(腾讯T9认证)

这套学习路线主要可以帮助你在3-8个月掌握服务器后台开发岗位必备技术点,强化理论知识,以项目运用为主导纯手写项目实现。适合工作1-3年,有危机意识,急需大厂技术实战走向大厂高级岗位;工作5- -8年遇瓶颈,急需查漏补缺提升技术层次;学习路线的特色:服务器后台开发知识点,包括C/C++, Linux, Nginx, ZeroMQ,MySQL,Redis, fastdfs, MongoDB, ZK,流媒体,CDN,P2P, K8S,Docker,TCP/IP,协程,DPDK等等,以大型互联网落地的产品架构为核心,培养Linux领域全能型的专业C/C++开发工程师。接下来就来介绍我们的学习路线:

一、精进基石专栏

1、数据结构与算法

第一个就是我们的红黑树了,其中包括:红黑树的应用场景进程调度cfs,内存管理、红黑树的数学证明与推导、手撕红黑树的左旋与右旋、红黑树添加的实现与添加三种情况的证明、红黑树删除的实现与删除四种情况的证明、红黑树的线程安全的做法、分析红黑树工程实用的特点。

搞定红黑树接下来就是磁盘存储链式的B树与B+树,需要学的是:磁盘结构分析与数据存储原理、多叉树的运用以及B树的定义证明、B树插入的两种分裂、B树删除的前后借位与节点合并、手撕B树的插入,删除,遍历,查找、B+树的定义与实现、B+树叶子节点的前后指针、B+树的应用场景与实用特点、B+树的线程安全做法。

接下来我们要学的就是海量数据去重的Hash与BloomFilter,bitmap,涉及的知识点:hash的原理与hash函数的实现、hash的应用场景、分布式hash的实现原理、海量数据去重布隆过滤器、布隆过滤的数学推导与证明。

2、设计模式

设计模式我们首先需要掌握创建型设计模式,其中需要掌握的知识点:单例模式、策略模式、观察者模式、工厂方法模式与抽象工厂模式、原型模式。

第二个需要掌握的是:结构型设计模式:适配器模式、代理模式、责任链模式、状态模式、桥接模式、组合模式。

设计模式学完,我们就可以去学习一下C++的新特性。

​3、C++的新特性

C++的新特性就推荐先学习stI容器,智能指针,正则表达式,其中包含:atomic的用法与原理、thread_ local 与condition_ var iable、异常处理exception ptr、错误处理error. category、coroutine的用法与原理。

学完上面的新特性后,我们接下来学习线程,协程,原子操作,lamda表达式,主要是学这些:atomic的用法与原理、thread_ loca |与condition_ var iable、异常处理exception_ ptr、错误处理error_ category、coroutine的用法与原理。

学完C++的新特性我们接下来需要学习Linux工程管理。

4、Linux工程管理

首先我们需要学的便是Makefi le/ cmake/conf igure,详细的知识点:Makefile的规则与make的工作原理、单文件编译与多文件编译、Makefile的参数传递、多目录文件夹递归编译与嵌套执行make、Makefile的通配符,伪目标,文件搜索、Makefile的操作函数与特殊语法、conf igure生成makefile的原则、cmake的写法等。

接下来需要学分布式版本控制git,详细知识点:git的工作流程、创建操作与基本操作、分支管理,查看提交历史、git服务器搭建等。

掌握了上面的技术点,接下来便需要学习Linux系统运行时参数命令,这个知识点有点多,学起来可能会觉得枯燥,其中的知识点包括:进程间通信设施状态ipcs、Linux系统运行时长upt ime、CPU平均负载和磁盘活动iostat、监控,收集和汇报系统活动sar、监控多处理器使用情况mpstat、监控进程的内存使用情况pmap、系统管理员调优和基准测量工具nmon、密切关注Linux系统glances、查看系统调用strace、ftp服务器基本信息ftptop、电量消耗和电源管理powertop监控mysql的线程和性能mytop、系统运行参数分析htop/top/atop、Linux网络统计监控工具netstat、显示和修改网络接口控制器ethtool、网络数据包分析利刃tcpdump、远程登陆服务的标准协议telnet、获取实时网络统计信息iptraf、显示主机上网络接口带宽使用情况iftop等。

​二、高性能网络设计专栏

1、自研网络库:异步网络库zvnet

首先需要掌握网络io与io多路复用epoll,kqueue (项目),详细知识点:socket.与文件描述符的关联、多路复用select/poll、代码实现LT/ET的区别。

其次需要掌握事件驱动reactor的原理与实现(项目),覆盖的知识点:reactor针对业务实现的优点、epoll封装send_ cb/recv_ cb/accept_ _cb、reactor多核实现、跨平台(select/epoll/kqueue)的封装reactor。

最后需要掌握http服务器的实现(项目),覆盖的知识点:reactor sendbuffer 与recvbuffer封装http协议、http协议格式、有限状态机fsm解析http、其他协议websocket, tcp文 件传输。

2、网络原理

首先我们需要掌握服务器百万并发实现(实操),主要的知识点包括:同步处理与异步处理的数据差异、网络io线程池异步处理、ulimit的fd的百万级别支持、sysct 1. conf的rmem与wmem的调优、conntrack的原理分析。

其次就是redis,memcached, nginx网络组件(理论),其中包含:redis单线程reactor的实现、memcached的多线程master-wor ker的reactor实现、nginx的多进程reactor的实现、多进程reactor的坑点,惊群,共享内存。

第三需要掌握的是Posix API与网络协议栈(理论),主要的知识点:connect,listen, accept 与三次握手、li sten参数back log、syn泛洪的解决方案、close与四次挥手、11个状态迁移、大量close_ wait与time_ wait的原因与解决方案、tcp keepalive与应用层心跳包、拥塞控制与滑动窗口。

最后我们需要掌握UDP的可靠传输协议QUIC (项目),覆盖的知识点:udp的优缺点、udp高并发的设计方案、qq早期为什么选择udp作为通信协议、udp可靠传输原理、quic协议的设计原理、quic的开源方案quiche、kcp的设计方案与算法原理。

3、自研框架:协程框架NtyCo的实现(两个项目)

第一个项目是协程设计原理与汇编实现(项目),主要的知识点:协程存在的3个原因、同步与异步性能,服务端异步处理,客户端异步请求、协程原语switch, resume, yield,、协程切换的三种实现方式,set jmp/ long jmp, ucontext, 汇编实现、汇编实现寄存器讲解、协程初始启动eip寄存器设置、协程栈空间定义,独立栈与共享栈的做法、协程结构体定义。

第二个项目是协程调度器实现与性能测试(项目),覆盖的技术点:调度器的定义分析、超时集合,就绪队列,io等待集合的实现、协程调度的执行流程、协程接口实现,异步流程实现、hook钩子的实现、协程实现mysq|请求、协程多核方案分析、协程性能测试。

4、自研框架:基于dpdk的用户态协议栈的实现(三个项目)

第一个项目是用户态协议栈设计实现(项目),其中的技术点:用户态协议栈的存在场景与实现原理、netmap开源框架、eth协议,ip协议, udp协议实现、arp协议实现、icmp协议实现。

第二个项目是应用层posix api的具体实现(项目),其中的知识点:socket/bind/listen的实现、accept实现、recv/send的实现、滑动窗口/慢启动讲解、重传定时器,坚持定时器,time_ wait定时器,keepalive定 时器

第三个项目是手把手设计实现epoll (项目),主要的知识点:epoll数据结构封装与线程安全实现、协议栈fd就绪回调实现、epo11接口实现、LT/ET的实现。

5、高性能异步io机制io_ uring

首先需要学习与epoll媲美的io_ uring(项目),主要的知识点:io_ uring系统调用io_ _uring_ setup, io_ _uring_ register, io_ _uring_ enter、liburng的io_ _uring的关系、io_ uring与epo11性能对比、io_ _uring的共享内存机制。

然后我们需要学习io_ uring的使用场景(理论),其中包括:irusgecect con. rv, end实现机制、io_ uring网络读写、io_ uring磁盘读写、proactor的实现。

本文福利,费领取C++ linux服务器开发学习资料包、技术视频,

↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

三、基础组件设计

1、池式组件(三个项目)

第一个手写线程池与性能分析(项目),其中主要包括:线程池的异步处理使用场景、线程池的组成任务队列执行队列、任务回调与条件等待、线程池的动态防缩、扩展: nginx线程池实现对比分析。

第二个内存池的实现与场景分析(项目),主要包括:内存池的应用场景与性能分析、内存小块分配与管理、内存大块分配与管理.、手写内存池,结构体封装与API实现、避免内存泄漏的两种万能方法、定位内存泄漏的3种工具、扩展: nginx内存池实现。

第三mysqI连接池的实现(项目),覆盖的知识点:连接池性能的影响的2个因素,tcp连 接和mysql认证、连接请求归还策略、连接超时未归还策略、链接断开重连策略、连接数量最优策略。

2、高性能组件

其中包括六个小项目,第一是原子操作CAS与锁实现(项目),主要的知识点:互斥锁的使用场景与原理、自旋锁的性能分析、原子操作的汇编实现;

第二个是无锁消息队列实现RingBuffer (项目),其中主要包括:有锁无锁队列性能、内存屏障Barrier、数组无锁队列设计实现、链表无锁队列设计实现;

第三个是定时器方案红黑树,时间轮,最小堆(项目),主要的知识点:定时器的使用场景、定时器的红黑树存储.、时间轮的实现、最小堆的实现、分布式定时器的实现;

第四个是手写死锁检测组件(项目),主要的知识点包括:死锁的现象以及原理、pthread_ mutex_ I ock/ pthread_ _mutex_ _unlock dlsym的实现、有向图的构建、有向图dfs判断环的存在、三个原语操作lock_ before, lock_ after, unlock_ after、死锁检测线程的实现;

第五个手写内存泄漏检测组件(项目)主要包括、内存泄漏现象、第三方内存泄漏与代码内存泄漏、mal loa与free的dIsym实现、内存检测策略、应用场景测试;

第六个是手把手实现分布式锁(项目)覆盖的知识点:多线程资源竞争互斥锁,自旋锁、加锁的异常情况、非公平锁的实现、公平锁的实现。

3.开源组件

首先需要掌握的是异步日志方案log4cpp (项目),其中所包含的知识点:日志库性能瓶颈分析、异步日志库设计与实现、批量写入与双缓存冲机制、奔溃后的日志找回;

其次需要学习的是应用层协议设计ProtoBuf/Thrift (项目),所覆盖的知识点:IM,云平台,nginx, http, redis协议设计、如何保证消息完整性、手撕protobuf IM通信协议、protobuf序列化与反序列化、protobuf编码原理。

四、中间件开发专栏

1、Redis

(1)Redis相关命令详解及其原理

  • str ing,set,zset,list,hash

  • 分布式锁的实现

  • lua脚本解决ACID原子性

  • Redis事务的ACID性质分析

(2)Redis协议与异步方式

  • Redis协议解析

  • 特殊协议操作订阅发布

  • 手撕异步redis协议

(3)存储原理与数据模型

  • string的三种编码方式int, raw, embstr

  • 双向链表的list实现

  • 字典的实现,hash函数

  • 解决键冲突与rehash

  • 跳表的实现与数据论证

  • 整数集合实现

  • 压缩列表原理证明

(4)主从同步与对象模型

  • 对象的类型与编码

  • 字符串对象

  • 列表对象

  • 哈希对象

  • 集合对象

  • 有序集合

  • 类型检测与命令多态

  • 内存回收

  • 对象共享

  • 对象空转时长

  • redis的3种集群方式主从复制,sentinel,cluster

  • 4种持久化方案

2、MySQL

(1)SQL语句,索引,视图,存储过程,触发器

  • MySQL体系结构,SQL执行流程

  • SQL CURD与高级查询

  • 视图,触发器,存储过程

  • MySQL权限管理

(2)MySQL索引原理以及SQL优化

  • 索引,约束以及之间的区别

  • B+树,聚集索引和辅助索引

  • 最左匹配原则以及覆盖索引

  • 索引失效以及索引优化原则

  • EXPLAIN执行计划以及优化选择过程分析

(3)MySQL事务原理分析

  • 事务的ACID特性

  • MySQL并发问题脏读,不可重复读,幻读

  • 事务隔离级别

  • 锁的类型,锁算法实现以及锁操作对象

  • S锁 X锁 IS锁 IX锁

  • 记录锁,间隙锁,next-key lock

  • 插入意向锁,自增锁

  • MVCC原理剖析

(4)MySQL缓存策略

  • 读写分离,连接池的场景以及其局限a

  • 缓存策略问题分析

  • 缓存策略强一致性解决方案

  • 缓存策略最终一致性解决方案

  • 2种mysq|缓存同步方案从数据库与触发器+udf

  • 缓存同步开源方案go-mysql-transfer

  • 缓存同步开源方案canal原理分析

  • 3种缓存故障,缓存击穿,缓存穿透,缓存雪崩

3、Kafka

(1)Kafka使用场景与设计原理

  • 发布订阅模式

  • 点对点消息传递

  • Kafka Brokers原 理

  • Topics和Partition

(2)Kafka存储机制

  • Partition存储分布

  • Partition文件存储机制

  • Segment文件存储结构

  • offset查找message

  • 高效文件存储设计

4、微服务之间通信基石gRPC

(1)gRPC的内部组件关联

  • ClientSide与ServerSide, Channel, Ser ivce, Stub的概念

  • 异步gRPC的实现

  • 回调方式的异步调用

  • Server与Client对RPC的实现

(2)基于http2的gRPC通信协议

  • 基于http协议构造

  • ABNF语法

  • 请求协议Request-Headers

  • gRPC.上下文传递

5、Nginx

(1)Nginx反向代理与系统参数配置conf原理(实操)

  • Nginx静态文件的配置

  • Nginx动态接口代理配置

  • Nginx对Mqtt协议转发

  • Ng inx对Rtmp推拉流

  • Openresty对Redis缓存数据代理

  • shmem的三种实现方式

  • 原子操作

  • ng inx channe l

  • 信号

  • 信号量

(2)Nginx过滤器模块实现(项目)

  • Nginx Filter模块运行原理

  • 过滤链表的顺序

  • 模块开发数据结构ngx_ str. _t, ngx_ list. t, ngx. _buf _t,ngx. _chain_t

  • error日志的用法

  • ngx_ comond_ t的讲解

  • ngx_

  • _http_ module_ t的执行流程

  • 文件锁,互斥锁

  • slab共享内存

  • 如何解决”惊群”问题

  • 如何实现负载均衡

(3)Nginx Handler模块实现(项目)

  • Nginx Handler模块运行原理.

  • ngx_ module_ t/ngx_ http_ module__t的讲解

  • ngx_ http_ _top_ body_ filter/ngx_ http_ top_ header__filter的 原理

  • ngx_ rbtree_ t的使用方法

  • ngx_ rbtree自定 义添加方法

  • Nginx的核心数据结构ngx_ cycle_ t, ngx_ event_ moule_ t

  • http请求的11个处理阶段

  • http包体处理

  • http响应发送

  • Nginx Upstream机制的设计与实现

  • 模块性能测试

五、开源框架专栏

1、游戏服务器开发skynet

(1)Skynet设计原理

  • 多核并发编程-多线程,多进程,csp模型,actor模型

  • actor模型实现-lua服务和c服务

  • 消息队列实现

  • actor消息调度

(2)skynet网络层封装以及Iua/c接口编程

  • skynet reactor 网络模型封装

  • socket/ socketchanne|封装

  • 手撕高性能c服务

  • lua编程以及lua/c接口编程

(3)skynet重要组件以及手撕游戏项目

  • 基础接口skynet. send, skynet. call, skynet. response

  • 广播组件multicastd .

  • 数据共享组件sharedatad datasheet

  • 手撕万人同时在线游戏

2、分布式API网关

(1)高性能web网关Openresty

  • Nginx与lua模块

  • Openresty访问Redis,MySQL

  • Restful API接口开发

  • Openresty性能分析

(2)Kong 动态负载均衡与服务发现

  • nginx,openresty, Kong之 间的“苟且”

  • 动态负载均衡的原理

  • 服务发现实现的原理

  • Server less

  • 监控,故障检测与恢复

  • 代理层缓存与响应服务

  • 系统日志

3、高性能存储SPDK的文件系统实现(项目)

(1)SPDK的工作原理与文件系统架构分析

  • NVMe与PCle的原理.

  • NVMe Controller 与bdev之间的rpc

  • blobstore与blob的关系

(2)文件系统的posix api实现

  • 4层结构设计vfs

  • spdk的异步改造posix同步api

  • open/wr ite/read/close的实现

(3)文件系统的性能测试

  • f io的ioengine实现

  • i odepth讲解

  • 随机读,随机写,顺序读,顺序写

4、高性能计算CUDA

(1)gpu并行计算cuda的开发流程

  • cpu+gpu的异构计算

  • 计算机体系结构中的gpu

  • cuda的环境搭建 nvcc与srun的使用

  • cuda的 向量加法与矩阵乘法

  • MPI与CUDA

(2)音视频编解码中的并行计算

  • cuda的h264编解码

  • cuda的mpeg编解码

  • ffmpeg的cuda支持

5、并行计算与异步网络引擎workf low

(1)workflow的应用场景

  • workflow的编程范式与设计理念

  • mysql/redis/kafka/dns的请求实现

  • parallel处理与任务组装

(2)workflow的组件实现

  • 线程池实现

  • DAG图任务

  • msgqueue的实现

  • 纯c的jsonparser实现

6、物联网通信协议mqtt 的实现框架mosquitto

(1)mqtt的高效使用场景

  • mqtt的发布订阅模式

  • 解决低带宽网络环境的数据传输

  • 3种Qos等级

  • 0Auth与JWT的安全认证

(2)mqtt的broker

  • mqtt的遗嘱机制

  • 发布订阅的过滤器

  • mosquitto的docker部署

  • mqtt的日志实时监控

六、云原生专栏

1、Docker

(1)Docker风光下的内核功能

  • 进程namespace

  • UTS namespace

  • IPC namespace

  • 网络namespace

  • 文件系统namesapce

  • cgr oup的资源控制

(2)Docker容器管理与镜像操作

  • Docker镜像下载与镜像运行

  • Docker存储管理

  • Docker数据卷

  • Docker与容器安全

(3)Docker网络管理(项目)

  • 5种Docker网络驱动

  • pipework跨主机通信

  • OvS划分vlan与隧道模式

  • GRE实现跨主机Docker间通信

(4)Docker云与容器编排(项目)

  • Dockerfile的语法流程

  • 编排神器Fig/Compose

  • Flynn体系架构

  • Docker改变了什么?

2、Kubernetes

(1)k8s环境搭建

  • k8s集群安全设置

  • k8s集群网络设置

  • k8s核心服务配置

  • kubect|命令工具

  • yaml文件语法

(2)Pod与Service的用法

  • Pod的管理配置

  • Pod升级与回滚

  • DNS服务之于k8s

  • http 7层策略与TLS安全设置

(3)k8s集群管理的那些事儿(项目)

  • Node的管理

  • namespace隔离机制

  • k8s集群日志管理

  • k8s集群监控

(4)k8s二次开发与k8s API (项目)

  • RESTful接口

  • API聚合机制

  • API组

  • Go访问k8s API

七、性能分析专栏

1、性能与测试工具

(1)测试框架gtest以及内存泄漏检测

  • goog letest与goog | emock文件

  • 函数检测以及类测试

  • test fixture 测试央具

  • 类型参数化

  • 事件测试

  • 内存泄漏

  • 设置期望,期待参数,调用次数,满足期望

(2)性能工具与性能分析

  • MySQL性能测试工具mysqlslap

  • Redis性能测试工具redis-benchmark

  • http性能测试工具wrk

  • Tcp性能测试工具TCPBenchmarks

  • 磁盘,内存,网络性能分析

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

  • 火焰图工具讲解

  • 火焰图使用场景与原理

  • nginx动态火焰图

  • MySQL火焰图

  • Redis火焰图

2、观测技术bpf与ebpf

(1)内核bpf的实现原理

  • 跟踪,嗅探,采样,

  • 可观测的理解

  • 动态hook: kpr obe/ upr obe

  • 静态hook: tracepoint 和USDT

  • 性能监控计时器PMC模式

  • cpu的观测taskset的 使用

  • BPF工具bpftrace, BCC

(2)bpf对内核功能的观测

  • 内存观测kmalloc与vm_ area_ struct

  • 文件系统观测vfs的状态

  • 磁盘io的观测bitesize, mdf lush

  • bpf对网络流量的统计

  • bpf对redis- -server观测

  • 网络观测tcp_ connect, tcp_ accept, tcp_ close

3、内核源码机制

(1)进程调度机制哪些事儿

  • qemu调试内存

  • 进程调度cfs与其他的四个调度类

  • task_ struct结 构体

  • RCU机制与内存优化屏障

(2)内核内存管理运行机制

  • 虚拟内存地址布局

  • SMP/NUMA模型

  • 页表与页表缓存原理

  • 伙伴系统实现

  • 块分配(SIab/Slub/Slob) 原理实现

  • brk/kmalloc/vmal loc系统调用流程

(4)文件系统组件

  • 虚拟文件系统vfs

  • Proc文件系统

  • super_ block 与inode结构体

  • 文件描述符与挂载流程

八、分布式架构专栏

1、分布式数据库

(1)不一样的kv存储RocksDB的使用场景

  • 前缀搜索

  • 低优先级写入

  • 生存时间的支持

  • Transactions

  • 快照存储

  • 日志结构的数据库引擎

(2)TiDB存储引擎的原理

  • TiKV的Key-Value存储引擎

  • 基于RBAC的权限管理

  • 数据加密

(2)TiDB存储引擎的原理

  • TiKV的Key-Value存储引擎

  • 基于RBAC的权限管理

  • 数据加密

(3)TiDB集群方案与Replication原理

  • 集群三个组件TiDB Server,PD Server,TiKV Server

  • Raft协议讲解

  • OLTP与OLAP

2、分布式文件系统

(1)内核级支持的分布式存储Ceph

  • ceph的集群部署

  • monitor与0SD

  • ceph 5个核心组件

  • ceph集群监控

  • ceph性能调调优与benchmark

(2)分布式ceph存储集群部署

  • 同步机制

  • 线性扩容

  • 如何实现高可用

  • 负载均衡

3、分布式协同

(1)注册服务中心Etcd

  • etcd配置服务、服务发现、集群监控、leader选举、分布式锁

  • etcd体系结构详解(gRPC, WAL,

  • Snapshot、BoItDB、 Raft)

  • etcd存储原理深入剖析(B树、 B+树)

  • etcd读写机制以及事务的acid特性分析

  • raft共识算法详解(leader选举+日志复制)

(2)协同事件用户态文件系统fuse (项目)

  • fuse的使用场景

  • 文件系统读写事件

  • fuse的实现原理

  • /dev/fuse的作用

(3)快播核心技术揭秘P2P框架的实现

  • 网关NAT表分析

  • NAT类型,完全锥型NAT,对称NAT,端口限制锥形NAT,IP限制锥型NAT

  • 代码逻辑实现NAT类型检测

  • 网络穿透的原理

  • 网络穿透的3种情况

九、上线项目实战

1、dkvstore实现(项目)

(1)kv存储的架构设计

  • 存储节点定义

  • tcp server/cl ient

  • hash数据存储

  • list数据存储

  • skiptable数据存储

  • rbtree数据存储

(2)网络同步与事务序列化

  • 序列化与反序列化格式

  • 建立事务与释放事务

  • 线程安全的处理

(3)KV存储的性能测试

  • 网络测试tps

  • 吞吐量测试

  • hash/list/sk iptab le/rbtree测试

2、图床共享云存储(项目)

(1)fastdfs架构分析和配置

  • fastdfs架构分析

  • 快速配置fastdfs

  • 上传文件逻辑分析

  • 下载文件逻辑分析

(2)文件传输和接口设计

  • http接口设计

  • 图床数据库设计

  • 图床文件上传,下载,分享功能实现

  • 业务流程实现

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

  • http接口设计

  • 图床数据库设计

  • 图床文件上传,下载,分享功能实现

  • 业务流程实现

3、微服务即时通讯(项目)

(1)IM即时通讯项 目框架分析和部署

  • 接入层、逻辑层、持久层架构划分

  • 消息实时性分析

  • 即时通讯数据库设计

  • 单聊、群聊消息原理

  • 群成员管理

  • 未读消息原理

  • 池化技术的使用

  • 快速配置|M项目

(2)IM消息服务器/文件传输服务器

  • protobuf通信协议设计

  • 数据库分表设计

  • reactor百万并发模型

  • login_ server负载均衡

  • 登录请求响应模型

(3)消息服务器/路由服务器

  • 请求登陆逻辑

  • 最近联系会话逻辑

  • 查询用户在线主题

  • 未读消息机制

  • 单聊消息推拉机制

  • 群聊消息推拉机制

  • 路由转发机制

(4)数据库代理服务器设计

  • main函数主流程

  • 响应流程

  • redis缓存

  • 消息计数(单聊和群聊)

  • 未读消息机制

  • 群成员管理

  • 单聊群聊

(5)文件服务器和docker部署

  • 在线文件传输机制分析

  • 离线文件传输机制分析

  • etcd微服务注册与发现

  • docker制作与部署

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

  • 单元测试案例

  • testbench如何设计

  • IM项目性能压测

  • 定制私有功能

  • 云服务器部署

本文福利,费领取C++ linux服务器开发学习资料包、技术视频,

↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

猜你喜欢

转载自blog.csdn.net/hw5230/article/details/131871920