后端架构师技术图谱:这是你想要的

公众号【国民程序员】回馈粉丝福利: 现金红包和送书活动火热进行中点击参与

GitHub严选:每天推荐一个GitHub优质开源项目

人生的每个抉择都是自己的选择。

大家好,我是严选哥。

今天给大家带来的项目是:后端架构师技术图谱

后端在一个技术团队中的作用不言而喻,学好后端的知识需要日积月累乃至常年的实战。后端是一个宽泛而且知识点很广的技术栈,因此有一个学习的技术图谱,一方面能够展示后端有多少技术栈,另一方面也能帮助我们规划如何学习这些技术栈,查漏补缺。

服务器缓存来说,就包含以下内容:

Web缓存

  1. nuster - nuster cache
  2. varnish - varnish cache
  3. squid - squid cache

Memcached

  1. 《Memcached 教程》
  2. 《深入理解Memcached原理》
    1. 采用多路复用技术提高并发性。
    2. slab分配算法:memcached给Slab分配内存空间,默认是1MB。分配给Slab之后 把slab的切分成大小相同的chunk,Chunk是用于缓存记录的内存空间,Chunk 的大小默认按照1.25倍的速度递增。好处是不会频繁申请内存,提高IO效率,坏处是会有一定的内存浪费。
  3. 《Memcached软件工作原理》
  4. 《Memcache技术分享:介绍、使用、存储、算法、优化、命中率》
  5. 《memcache 中 add 、 set 、replace 的区别》
    区别在于当key存在还是不存在时,返回值是true和false的。
  6. 《memcached全面剖析》

Redis

  1. 《Redis 教程》
  2. 《redis底层原理》
    1. 使用 ziplist 存储链表,ziplist是一种压缩链表,它的好处是更能节省内存空间,因为它所存储的内容都是在连续的内存区域当中的。
    2. 使用 skiplist(跳跃表)来存储有序集合对象、查找上先从高Level查起、时间复杂度和红黑树相当,实现容易,无锁、并发性好。
  3. 《Redis持久化方式》
    1. RDB方式:定期备份快照,常用于灾难恢复。优点:通过fork出的进程进行备份,不影响主进程、RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。缺点:会丢数据。
    2. AOF方式:保存操作日志方式。优点:恢复时数据丢失少,缺点:文件大,回复慢。
    3. 也可以两者结合使用。
  4. 《分布式缓存–序列3–原子操作与CAS乐观锁》

架构

《Redis单线程架构》

回收策略

《redis的回收策略》

Tair

  1. 官方网站
    《Tair和Redis的对比》
  2. 特点:可以配置备份节点数目,通过异步同步到备份节点
  3. 一致性Hash算法。
  4. 架构:和Hadoop 的设计思想类似,有Configserver,DataServer,Configserver 通过心跳来检测,Configserver也有主备关系。
  5. 几种存储引擎:
    1. MDB,完全内存性,可以用来存储Session等数据。
    2. Rdb(类似于Redis),轻量化,去除了aof之类的操作,支持Restfull操作
    3. LDB(LevelDB存储引擎),持久化存储,LDB 作为rdb的持久化,google实现,比较高效,理论基础是LSM(Log-Structured-Merge Tree)算法,现在内存中修改数据,达到一定量时(和内存汇总的旧数据一同写入磁盘)再写入磁盘,存储更加高效,县比喻Hash算法。
    4. Tair采用共享内存来存储数据,如果服务挂掉(非服务器),重启服务之后,数据亦然还在。

其它更多内容,请大家自行前往阅读。

项目地址: https://github.com/xingshaocheng/architect-awesome

扫描二维码关注公众号,回复: 12071594 查看本文章

欢迎关注我的技术公众号:国民程序员,我们的目标:输出干货

  1. 每天分享原创技术文章
  2. 海量免费技术资料和视频学习资源
  3. 分享赚钱门道,带领程序员走向财务自由
图片名称

猜你喜欢

转载自blog.csdn.net/ddnosh/article/details/109095153