Knot DNS架构详解1-概述

这个系列的文章大多源于网络和自己的总结。关于Knot分析的文章网络不是很多,由于我的水平有限,错误在所难免。欢迎大家批评指正

概述

本篇主要分析Knot架构不涉及具体细节分析。后续会不断完善

  1. Knot中的socket采用的是poll模型
  2. Knot的主要业务线程有以下几种
  • tcp_work线程 处理tcp请求
  • udp_work线程 处理udp请求
  • background线程 处理例如zone-update等的zone事件
  • evsched线程 分发event事件
    除此之外,还有usernamespace-rcu产生的后台线程,fstrim产生的后台线程。
  1. Knot业务处理主要关注process_query_layer()这个接口里面注册的回掉

Knot 初始化

Knot 的main函数在src/utils/knotd/main.c中

int main(int argc, char **argv)
{
   
    ......
    /* Initialize server. */
   server_t server;
   ret = server_init(&server, conf_bg_threads(conf()));
   if (ret != KNOT_EOK) {
   
   	log_fatal(&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值