分布式和缓存的思考

来源:互联网 发布:出肉走淘宝 编辑:程序博客网 时间:2024/06/09 16:47

     设计应用系统时,为了提高系统的读访问能力,往往都会将全部或部分热数据(有限的数据)放入内存,而避免耗时的文件io,网络IO(rmdb,nosql等远程存储系统),忽然思考了一下这个问题,并且把他联想到分布式的体系中去,发现,这不就是一个最简单的分布式结构吗,数据有副本了,一个是原始数据(存储系统中的数据)和本地内存数据,那么问题来了,既然数据有副本了,那么就得解决副本的一致性问题,缓存的数据同步归根结底其实就是分布式系统中多数据副本数据一致性问题了。怎么样保证缓存数据一致性,那就要看业务场景了,对数据的敏感度,可以容忍多久的不一致时间. 定时全量同步,或一个数据修改实时消息通知全部缓存立马更新.

    

     《深入理解计算机系统》中,这么介绍存储 ,整个计算机系统的存储结构里就含有一个复杂而精妙的缓存结构。

     拿自己的笔记本看了下这些数据 cpu的一级数据缓存 64KB ,一级指令缓存64KB, 二级缓存 512KB  三级缓存3M --8G内存----320G SSD ,每一层都是对其上一层的数据缓存,速度越来越慢。硬件工程师们确实很了不起.


     linux内核里,对文件系统的访问统一使用了page cache,也是对缓存的一种应用,提高了IO的吞吐量.  linux内核工程师们很了不起。

0 0
原创粉丝点击