1. 简介
db_proxy_server连接着mysql和redis,用于存储读写即时通讯用到的相关数据。
2. 框架
https://img-blog.youkuaiyun.com/20170517124154694
- 创建包括CacheManager和CDBManager等模块实例对象
- 读取dbproxyserver.conf配置
- init_proxy_conn(创建指令id和任务执行函数映射关系,创建线程池,添加loog任务,自定义SIGTERM事件,添加定时器任务)
- CSyncCenter::startSync(将IMGroup各群组最后聊天时间和相应群组里各成员IMRecentSession时间进行同步,同时更新redis unread last_update_group为最新时间)
- netlib_listen(在配置文件指定端口上启动侦听监听新连接)
- 将进程id写入server.pid
- netlib_eventloop(主线程进入循环,监听新连接的到来以及出来新连接上的数据收发)
3. 运行流程
进入db_proxy_server\build,执行make
参考TeamTalk db_proxy_server CProxyConn详解