#服务发现 #dns #分布式 #ffi #ld-preload

plumber

plumber 是一个垫片,它为遗留系统添加可插拔的服务发现功能,而无需修改其代码

7 个版本

使用旧的 Rust 2015

0.0.7 2015 年 8 月 28 日
0.0.6 2015 年 8 月 20 日

#ld-preload 中排名 #8


用于 srv-shim

Apache-2.0

14KB
388

Plumber

为遗留系统提供可插拔的服务发现和负载均衡。

Plumber 是一个为 Discotech 提供的 LD_PRELOAD 钩子库,提供懒加载初始化和 connect、sendto 以及 getaddrinfo 的钩子。

getaddrinfo:主机名是否匹配模式?返回魔法 IP

connect/sendto:IP 是否为魔法?执行回调获取器

用法

Linux/FreeBSD

DISCO_CONF=/path/to/discotech.conf.json \
LD_PRELOAD=target/debug/libplumber.so \
$PROGRAM

OSX

DISCO_CONF=/path/to/discotech.conf.json \
DYLD_INSERT_LIBRARIES=/abs/path/to/libplumber.so \
DYLD_FORCE_FLAT_NAMESPACE=YES \
$PROGRAM

依赖

~330–560KB