Dnspod-sr处理业务的模块主要是三个sentinel、fetcher和quizzer,业务流的顺序是sentinel---》fetcher----》quizzer。
sentinel负责接收客户端的dns请求,并把dns请求放入msgcache中,
fetcher负责从msgcache读取消息,分析查询请求,若在缓存中就直接返回给客户端,否则加入quizzer列表。
quizzer负责从quizzer列表中读取消息,转发dns请求。
可见,业务流的起点就是sentinel模块,因此就从这个函数开始分析。
main函数中的代码是 :
struct server *s = NULL;
s = server_init();
run_sentinel(s);
待续。。。。。
阅读(704) | 评论(0) | 转发(0) |