文件名称:udns:μDNS是过于简单的dns服务器,Redis可以直接提供答案
文件大小:7KB
文件格式:ZIP
更新时间:2024-06-12 08:55:12
Python
μDNS是过于简单的dns服务器,Redis可以直接提供答案 该解决方案的主要目的是拥有非常快的可重写DNS名称,并且几乎没有缓存。 典型用例:使用复杂规则将微服务请求中的细粒度请求分片。 例如,我使用它通过用户ID进行分片,从而将请求从一个微服务器路由到另一个微服务器,而无需单个API网关以及Consul或CoreDNS泛滥。 只需使用`user1923923923:192.168.3.31`之类的对预填充redis,以此类推。 μDNS除了标准库外没有任何依赖关系,并且在我的macbook pro的单核上显示10k + RPS(在现代生产服务器上超过40k rps)。 您可以通过安装uvloop来提高rps速率,但通常不需要这样做。 查询的工作周期 当μDNS收到新请求时,将通过以下步骤进行处理: 检查该fqdn是否在Redis数据库中可用。 如果找到记录,则立即将其作为DNS答案
【文件预览】:
udns-main
----.gitignore(2KB)
----README.org(2KB)
----pyproject.toml(464B)
----LICENSE(1KB)
----server.py(4KB)
----dnslib.py(3KB)
----redis.py(2KB)