14 releases
Uses old Rust 2015
0.4.3 | Feb 19, 2018 |
---|---|
0.4.2 | Nov 24, 2017 |
0.4.1 | Oct 24, 2017 |
0.3.4 | May 31, 2017 |
0.1.0 | Feb 12, 2016 |
#726 in Asynchronous
200 downloads per month
Used in 13 crates
(11 directly)
46KB
803 lines
Abstract Name Service
Status: Beta
Documentation | Github | Crate
This rust crate provides just abstract traits which may be used to build interoperable implementations of name dicovery.
We want abstract_ns to have implementations not only for DNS-based name discovery but also Zookeeper, Eureka, Etcd, Consul, and whatever other thing you might imagine. All of them easily configured and interchangeable.
Features:
- Defines what is a name and what is a result of service discovery
- Uses futures-rs for asynchronous stuff
- Has interface to receive updates (name changes)
- Allows some kind of name service routing, i.e. has a way to specify different
resolvers for different names, for example: serve
*.consul
from local consul, other names from conventional DNS servers.
This repository also contains the following crates:
ns-std-threaded
a name resolution implementation that uses stdlib resolver running in a thread poolns-dns-tokio
an pure-rust implementation that usesdomain
crate to resolve domains asynchronously intokio-core
main loop
Note: abstract-ns v0.2 is very different product than v0.1
License
Licensed under either of
- Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~435–620KB