- 博客(4)
- 收藏
- 关注
原创 设计模式
0. 什么样的代码才是好代码? 这个问题一直存在争论,实干者说能满足需求的代码就是好代码,学术派可能不以为然,觉得好的代码是通过精心设计,易扩展,有着高大上的设计模式云云。个人认为不管哪种说法没有完全地对错,而是需要分不同场景来说,比如一个软件生命周期很短的系统,投入太多的时间做过多的设计来考虑后面的需求变化可能远不如快速开发一个版本来的实际。反之,对于生命周期比较长的系统,开始之初或者迭代...
2020-01-04 20:57:33
215
原创 libev 源码解析
一 libev简介 libev是一个轻量级的事件通知库,具备支持多种事件通知能力,通过对libev的源码的阅读,可以清楚了解事件通知实现内部机制。二 核心数据结构在libev中关键的数据结构是,loop结构体,该结构体定义的字段较多,但是主要核心的可以分为两大类ev_loop结构体(loop为ev_loop结构的全局变量)的字段定义在ev_vars.h头文件中,然后在ev.c...
2020-01-04 20:50:05
723
原创 leveldb 源码--总体架构分析
一 本文目的对leveldb的总体设计框架分析(关于leveldb基本原理,此文不做阐述,读者可以自行检索文章阅读即可),对leveldb中底层数据存储数据格式,内存数据模型,compact,版本管理,快照等机制实现介绍以及整个leveldb实现源码中各文件源码的职责,方便快速对leveldb有个总体的掌握二 各特性机制的实现1.leveldb的底层数据格式存储 level...
2020-01-04 20:47:53
388
原创 raft--分布式一致性协议
0. 写在前面的话 一直从事分布式对象存储工作,在分布式对象存储的运营,开发等工作中,数据一致性是至关重要的。因此想写一篇关于分布式一致性的文章。一来,可以和大家分享。二来,可以提高自己的文字提炼能力也可以当作备忘。 本篇文章并不是raft的一篇科普文,不着重介绍raft的具体过程,这些具体过程raft论文中都详细阐述,在此不再赘述,而是着重于raft中选举以及日志复制过程如何保证数据...
2020-01-04 20:41:47
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅