Home 项目经历
项目经历
Cancel

项目经历

该页主要介绍作者的 项目经历

【SkipList-KV项目篇】

​ 该项目是采用C++语言基于跳表结构设计的一个轻量级键值型存储引擎,支持插入、查询、删除、显示、导出、重加载6种基本操作。为了测试引擎效率,作者开发了一个使用和web bench相似技术的压力测试工具Stress Bench。在随机读写情况下,该引擎每秒在多个并发进程累计执行成功次数都可以保持在30000左右。

技术栈

  • 基于跳表结构面向对象思想的节点类、跳表类的开发与封装;

  • 基于父子多进程匿名管道技术Stress Bench测试工具;

  • 使用互斥锁,防止并发插入数据时发生冲突;

  • 基于MakeFile的多文件编译方式;

    项目展示图 更多详细介绍->基于跳表结构的KV存储引擎设计

【MyWebServer项目篇】

​ 该项目是一款用C++实现的基于Linux的轻量级高性能Web服务器,经过web bench工具的压力测试,可以实现上万的QPS (Query Per Second,每秒查询率)。

技术栈

  • 基于多进程网络通信匿名管道技术Web bench测试工具;
  • 基于互斥锁条件变量等多线程同步技术实现的线程池模块,实现将多个任务同时分配给多个线程;
  • 基于Socket编程IO复用技术Epoll实现的Reactor高并发模型,实现同时监听多个客户端事件;
  • 基于最小堆结构定时器模块,实现非活动连接的超时管理;
  • 基于正则表达式状态机的HTTP/1.1解析和响应模块,实现处理Web静态资源的请求;
  • 支持分散读集中写的缓冲区模块,实现缓存数据的合理管理,提高文件数据拷贝效率;
  • 基于RAII机制实现的MySQL数据库连接池模块,减少数据库连接建立与关闭的开销;
  • 基于单例模式阻塞队列异步日志系统,实现以文件形式按日期记录服务器运行信息;

项目展示图

​ 更多详细介绍->Web轻量级高性能服务器