水文---服务端学习路线(听别人说的,记录以激励自己)

一次学习时,视频的最后讲课老师分享了他的学习路线。觉得很有参考意义,特此记录下来,以激励自己。

工作五年以下,分以下几个水平,其实我觉得可能划分并不明显。

1. 数据结构和算法、设计模式
  1. 最小堆、红黑树、时间轮、b/b+树, 布隆过滤器(redis击穿)
  2. 排序(快排、希尔、归并,堆排序)及时间复杂度和是否稳定
  3. 跳表 redis 中zset的实现手法,通过生成多级的有序列表,达到接近二分查找的速度。空间换时间。
  4. 责任链、过滤器、观察者、代理、单例,工厂等设计模式
2. 中间组件编程
  1. 数据库 redis(请求回应模式,hirides - c driver) mysql(mysqlclient) nginx zeromq(bind, connect, send, recv).
  2. nginx 配置
  3. zeromq
  4. zk (zoomkeeper) (c driver)
3. 网络IO
  1. select poll epoll (边缘触发,水平触发)
  2. 同步,异步
  3. 阻塞, 非阻塞
  4. libevent, libuv
  5. reactor(epoll_wait) proactor(信号 + 回调)
4. linux 系统
  1. iostat uptime
  2. 网络 netstat tcpdump iperf
  3. dd umount
  4. tail mutitail
  5. htop top
  6. vi sed grep awk
  7. shell 脚本
5. 开源框架
  1. 配置 xml json
  2. 脚本 lua
  3. 协议 protobuffer, thrift, messagepack, flatbuffer
  4. 数据压缩 zlib snappy
  5. xxtea, openssl , tls
  6. log4 cpp
  7. nginx, lighttpd
  8. 协程 —> libco --> hock mysqlclient 同步阻塞操作改成同步非阻塞操作
6. 代码工程化
  1. makefile, cmake, autoconf
  2. git, svn
7. 性能测试
  1. gtest, luatest, boost.test
  2. wrk , webbench

对于上述这些,会用这些应用的话,老师说这是初级的水平(啊这,学废了)。下面记一下五年以上的(也不知道自己能不能干到那个时候)

0
  1. 明确方向
  2. 自律
  3. 2-3技术基友
1. 从源码学习
  1. nginx
  2. redis hash 时间轮 string hash
  3. zeromq
  4. skynet
2. 造轮子能力
  1. 中间件,内存池,线程池等
  2. 高并发io的实现 epoll reactor 这些
  3. 网络协议栈的实现
  4. nginx模块
  5. 高并发锁
3. 集群能力
  1. 数据库
  2. nginx
  3. zk
4. linux内核
5. 性能优化
  1. mysql
  2. linux
6. 运维部署 docker
7. 一线架构分析 (同样的功能, 一线大厂怎么实现的)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值