本文主要是介绍Twemproxy源码走读(3):初始化流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Twemproxy初始化过程比较简单,这里把Twemproxy初始化过程分成两部分:(1)读取运行选项;(2)运行前的初始化和准备;
(1) 读取运行选项
读取各项参数的设置,比如是否后台运行(daemonize)、日志级别、日志文件、配置文件名称等信息。
正如前一章(概述)里讲到的,Twemproxy使用了一个全局变量nc(类型为struct instance)保存所有的信息,包括选项配置信息。
(2) 运行前的初始化和准备(nc_pre_run);
图1. 运行前准备流程图
附上正式接收请求的运行前准备源码,逻辑清晰,都不需要注释:
static rstatus_t
nc_pre_run(struct instance *nci)
{rstatus_t status;status = log_init(nci->log_level, nci->log_filename);if (status != NC_OK) {return status;} if (daemonize) {status = nc_daemonize(1);if (status != NC_OK) {return status;} } nci->pid = getpid();status = signal_init();if (status != NC_OK) {return status;} if (nci->pid_filename) {status = nc_create_pidfile(nci);if (status != NC_OK) {return status;} } nc_print_run(nci);return NC_OK;
}
这篇关于Twemproxy源码走读(3):初始化流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!