高性能缓存服务—HANBO(1)

多数流行的开源缓存服务都是出自老毛子之手,动辄就闭源,说不准哪天就被没收回去了。

国人当自强,我不入地狱谁入地狱。大概两年前,我开始了发明轮子的不归路,从第一行代码开始到现在迭代了无数次,不断优化重构,从玩具代码成功转型为企业软件。

记得每次突发灵感时,持续coding到深夜,硬是被老婆逼着睡觉,想想还是挺值得的。

言归正传,一起来窥探hanbo的究竟。

通信层

netty快速起步,屏蔽掉非核心开发,仅做一些网络参数优化。

协议层

完全兼容redis协议,可以快速平滑地切换到hanbo

逻辑处理层

无锁设计,单线程处理请求指令,没有线程切换

存储层

内存文件映射,IO零延迟,理论上单机并发上限受制于内核的配置

文件系统

二进制格式,分为索引文件和数据文件,逻辑存储单元遵循TLV方式的序列化和反序列化

持久策略

数据同步落盘,保证数据不丢失

高可用

支持一主多从的架构,支持全量和增量同步

缓存容量

默认1GB,超出会自动扩容为原来的两倍

数据结构

string/list/hash/set,基于fastUtil库提供高性能集合读写

高级特性

支持事物,阻塞队列,发布订阅,多db分区

key命中规则

纯内存操作,hash表检索(实际上是搜索二叉树)得到索引对象,进而得到value值(本质上是基于下标读取directbuffer)

时间有限,下一篇我会重点拆解内部实现以及核心代码。

转载于:https://my.oschina.net/u/4177567/blog/3084378

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值