4个版本

0.1.3 2024年1月31日
0.1.2 2024年1月24日
0.1.1 2024年1月9日
0.1.0 2024年1月9日

#1465网络编程

Download history • Rust 包仓库 65/week @ 2024-03-11 • Rust 包仓库 48/week @ 2024-03-18 • Rust 包仓库 43/week @ 2024-03-25 • Rust 包仓库 69/week @ 2024-04-01 • Rust 包仓库 21/week @ 2024-04-08 • Rust 包仓库 34/week @ 2024-04-15 • Rust 包仓库 10/week @ 2024-04-22 • Rust 包仓库 17/week @ 2024-05-13 • Rust 包仓库 32/week @ 2024-05-20 • Rust 包仓库 17/week @ 2024-05-27 • Rust 包仓库 24/week @ 2024-06-03 • Rust 包仓库 22/week @ 2024-06-10 • Rust 包仓库 15/week @ 2024-06-17 • Rust 包仓库 24/week @ 2024-06-24 • Rust 包仓库

每月86次下载
atm0s-sdn 中使用

MIT 许可证

36KB
710 代码行

atm0s-sdn节点别名服务

此服务实现了一种类似于DNS的机制,其中每个节点都会注册自己以及一些别名。这些别名通常用于代理或隧道服务器。

功能

这里使用的机制有助于避免节点之间需要强同步数据。任何节点都可以随时断开并重新加入。过程非常简单,如下所述

  • 每次节点注册或注销一个别名时,它都会将此更改广播到所有其他节点。

  • 当一个节点收到一个注册时,它将发送者作为位置提示存储起来。

  • 当节点需要找到一个别名的位置时,它首先检查本地存储中的位置提示。

    • 它向位置提示发送ping以确保它仍然持有该别名。
    • 如果没有位置提示,或者ping超时或节点回复“未找到”,则节点向所有其他节点广播一个“扫描”请求。
    • 如果一个节点回复“找到”,则获得结果。然而,如果在超时后没有“找到”响应,则表示别名未找到。

用例

当处理大量很少更改的别名时,此机制特别有用。这在DNS、隧道和代理等系统中可以观察到。然而,如果您有频繁更改且经常查询的别名,则不应使用此服务。

依赖项

~12–23MB
~375K SLoC