文章预览
工作来源 CoNEXT
2022 工作背景 单独看 Netflow 数据无法了解对应的服务,单独看 DNS 数据无法了解流量大小,那么将二者结合起来看呢? 工作设计 整体架构如下所示。由于 Worker 的多个实例会同时访问保存 DNS 数据的共享数据结构,需要将 DNS 数据拆分并分发到不同的分片,尽可能让分片间隔离。设计只关心来源 IP 地址,但修改为目的 IP 或者源 IP 与目的 IP 也是简单的。 99% 的 A/AAAA 与 CNAME 记录的 TTL 都小于 3600 秒与 7200 秒。以此作为记录的过期时间,达到阈值即全部清除。保存 DNS 记录的数据机构为 Hashmap ,响应值为 Key 、请求值为 Value 。 设计了三级 Hashmap 结构,新数据都存在活跃 Hashmap 中,达到阈值后将活跃 Hashmap 的数据更新到非活跃 Hashmap 中,并清活跃 Hashmap 。如果 TTL 比阈值还大,会被放入持久 Hashmap 中。
………………………………