#name-service #name #service-discovery #discovery #dns #service #thread-pool

ns-std-threaded

用于抽象-ns的名称服务实现,使用stdlib实现并运行在线程池中

3 个版本 (破坏性)

使用旧的 Rust 2015

0.3.0 2017年10月19日
0.2.0 2017年3月1日
0.1.0 2016年10月15日

#20 in #name-service

Download history 27/week @ 2024-03-11 28/week @ 2024-03-18 40/week @ 2024-03-25 121/week @ 2024-04-01 23/week @ 2024-04-08 26/week @ 2024-04-15 25/week @ 2024-04-22 29/week @ 2024-04-29 22/week @ 2024-05-06 40/week @ 2024-05-13 25/week @ 2024-05-20 29/week @ 2024-05-27 24/week @ 2024-06-03 18/week @ 2024-06-10 30/week @ 2024-06-17 25/week @ 2024-06-24

每月 100 次下载
用于 9 crates (7 直接)

MIT/Apache

50KB
854

抽象名称服务

状态:测试版

文档 | Github | Crate

这个 Rust 包提供了一些抽象特质,可用于构建可互操作的名称发现实现。

我们希望 abstract_ns 除了基于 DNS 的名称发现外,还能有 Zookeeper、Eureka、Etcd、Consul 以及其他可能想到的任何东西的实现。所有这些都可以轻松配置和互换。

特性

  • 定义了名称和名称发现的结果是什么
  • 使用 futures-rs 进行异步操作
  • 有接口接收更新(名称更改)
  • 允许某种名称服务路由,即可以指定不同名称的不同解析器,例如:从本地 consul 提供 *.consul,其他名称从传统的 DNS 服务器提供。

此存储库还包含以下 crate

  • ns-std-threaded 使用 stdlib 解析器并在线程池中运行的名 resolution 实现的 crate
  • ns-dns-tokio 使用 domain crate 在 tokio-core 主循环中异步解析域的纯 Rust 实现

注意:abstract-ns v0.2 与 v0.1 是完全不同的产品

许可协议

许可协议为以下之一

贡献

除非您明确声明,否则您有意提交的任何贡献,按照 Apache-2.0 许可证定义的作品,应按上述方式双重许可,无需任何额外的条款或条件。


lib.rs:

此 crate 提供了一个简单的名称解析器,它使用 lib 的名称解析。

不幸的是,由于许多原因,libc 不提供异步名称解析,所以我们运行请求在线程池中。

对于高性能服务器应用,这种方法远远不够高性能,但与其他一切兼容性最好。因此,它可以用于

  1. 提供最大兼容性(即开发环境的良好默认值)
  2. 在名称解析不是慢速部分的程序中
  3. 作为 ns_router::Router 的回退解析器,其中更频繁使用的名称后缀被该命名空间更快解析器覆盖

依赖项

~460–700KB