erpeng's code area


  • Home

  • Tags

  • Archives

leveldb源码解析0之Log及MANIFEST文件格式

Posted on 2019-06-25 |
leveldb是一款google开源的key/value持久化存储.facebook基于其开发了rocksdb.各大厂商如360 pika,阿里巴巴x-engine等基于其开发出了自己的k/v持久化存储.Hbase的底层存储方式也基本类似leveldb.该系列文章会通过源码深入分析leveldb实 ...
Read more »

go汇编

Posted on 2019-06-13 |
go runtime中有不少汇编.因此有必要学习一下go的汇编语法 说明go汇编器基于plan9汇编.注意该汇编不是底层机器的直接表示,而是一种半抽象的指令集.如果想看特定平台上边的汇编输出,可以看runtime或者math/big包,里边有许多示例.或者使用如下命令: 123456789101 ...
Read more »

c++快速入门

Posted on 2019-06-11 |
本文重点关注与c语言不同的地方 hello,world123456#include <iostream>using namespace std;int main(){ cout << "Hello,World"<<endl; ...
Read more »

kafka/spark/elasticsearch/hbase笔记

Posted on 2019-06-09 |
有赞日志平台架构(详见后文参考链接)中用到的一些组件,通过查阅文档,进行初步的了解. 各组件作用在有赞日志平台中,kafka是日志中心,所有收集到的日志都会通过不同的topic发送到kafka,利用kafka的高吞吐量和消息中间件的异步解耦特性做一个中间桥梁.spark消费日志并且做一些处理逻辑 ...
Read more »

硬件角度看内存屏障

Posted on 2019-06-02 |
本文参考论文 Memory Barriers:a Hardware View for Software Hackers cpu cachecpu能够在1纳秒执行数十条指令,但是从内存中获取一个数据需要几百纳秒,有两个数量级的差距,因此在现代的cpu上会有多达几MB的cache.数据在cache和 ...
Read more »

go并发编程

Posted on 2019-06-01 |
并发编程常见问题及go的锁,条件变量及原子操作 竞态条件第一个版本,不带锁,起10个协程并发的修改Counter,可以看到结果每次都不一样,并且没有规律 12345678910111213141516171819202122232425262728293031323334353637383940 ...
Read more »

go io与bufio包分析

Posted on 2019-05-30 |
go中io处理相关的包 io包12345678910111213go doc -u io.Readertype Reader interface { Read(p []byte) (n int, err error)}func LimitReader(r Reader, n ...
Read more »

分布式系统弹力设计

Posted on 2019-05-28 |
弹力设计即容错设计,包括容错能力(服务隔离,异步调用,请求幂等),可伸缩性(有无状态),一致性(补偿,重试),应对大流量的能力(熔断,降级)来源:极客时间左耳听风专栏 系统可用性测量Availability = MTTF/(MTTF+MTTR) MTTF:mean time to failure ...
Read more »

go os包分析

Posted on 2019-05-27 |
os包主要实现操作系统相关的一些操作接口, 例如chown,chmod,getgid,getpid等.不详述,重点关注一些定义的结构体与特殊处理 错误处理相关函数12345go doc os |grep Isfunc IsExist(err error) bool //是否报已存在的错误func ...
Read more »

一致性hash原理及实现

Posted on 2019-05-25 |
解决什么问题先看一个示例,假设hash table初始的slots为4,hash函数为uid%4,并且uid分布均匀,我们看下uid分别为0-11时的分布 slots 0 1 2 3 0 1 2 3 4 5 6 7 8 9 10 11 假设现在扩容,slots变为5,我 ...
Read more »
<1…567…9>

87 posts
43 tags
GitHub
© 2022 erpeng
Powered by Hexo
|
Theme — NexT.Muse v5.1.4