IIWAB Pika架构 - IIWAB

Pika架构

IIWAB 1年前 ⋅ 3992 阅读

Pika

pika是360奇虎公司开源的一款类redis存储系统,主要解决的是用户使用 Redis 的内存大小超过 50G、80G 等等这样的情况,会遇到启动恢复时间长,一主多从代价大,硬件成本贵,缓冲区容易写满等问题。

Pika 就是针对这些场景的一个解决方案:

  • Pika 的单线程的性能肯定不如 Redis,Pika 是多线程的结构,因此在线程数比较多的情况下,某些数据结构的性能可以优于 Redis;
  • Pika 肯定不是完全优于 Redis 的方案,只是在某些场景下面更适合,DBA 可以根据业务的场景挑选合适的方案。

Pika架构

pika架构.jpg

主要组成

  • 网络模块 pink,对网络编程的封装,用户实现一个高性能的 server 只需要实现对应的 DealMessage 函数即可,支持单线程模型、多线程 worker 模型;
  • 线程模块,见下文;
  • 存储引擎 nemo,基于 Rocksdb 修改,封装 Hash, List, Set, Zset 等数据结构;
  • 日志模块 binlog,解决了同步缓冲区太小的问题;

pika线程 pika线程模型.jpg


全部评论: 0

    我有话说: