当前位置: 首页 > 操作系统&&数据库, 数据库 > 正文

C++自制Redis数据库(六) 设计开始 各模块架构–网络模块

网络模块

这次的网络模块主要使用I/O多路复用,就是reactor 模型,结合线程池来实现服务器的主体逻辑。

注册三个事件,读事件,写事件,连接事件。都是经典的网络编程范式,在这里不做过多的介绍。不过在包的数据结构设计方面肯定需要设计一番,但是这个数据关系到数据库的设计,所以我们后边再设计数据结构。

现在有两种情况,使用epoll 还是用libevent 函数库,还要研究一下。

大体结构如下:

数据传输结构:

 

网络结构 (1)

服务器结构:

服务器结构

 

这只是粗略的考虑,比如超时问题如何解决等等。

本文固定链接: http://zmrlinux.com/2016/02/07/c%e8%87%aa%e5%88%b6redis%e6%95%b0%e6%8d%ae%e5%ba%93%ef%bc%88%e5%9b%9b%ef%bc%89-%e8%ae%be%e8%ae%a1%e5%bc%80%e5%a7%8b-%e6%95%b2%e5%ae%9a%e5%90%84%e6%a8%a1%e5%9d%97%e6%9e%b6%e6%9e%84-%e7%bd%91/ | Kernel & Me

该日志由 root 于2016年02月07日发表在 操作系统&&数据库, 数据库 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: C++自制Redis数据库(六) 设计开始 各模块架构–网络模块 | Kernel & Me