17 个版本
0.8.1 | 2024年7月10日 |
---|---|
0.7.2 | 2024年4月22日 |
0.7.1 | 2024年2月27日 |
0.7.0 | 2023年9月6日 |
0.2.0 | 2021年7月9日 |
#1632 in 异步
54,474 每月下载量
在 helyim 中使用
34KB
460 行
ginepro
ginepro
通过为 tonic
的通道添加周期性服务发现来提供开箱即用的客户端 gRPC 负载均衡。
概述
ginepro
通过一个目前为 DNS 实现的 ServiceDiscovery
接口定期更新通过 tonic 可用的服务器列表,从而丰富了 tonic。
如何安装
将 ginepro
添加到依赖项中
cargo add ginepro
入门
接口保持相当一致,因为我们为 tonic 的 Channel
实现了所有逻辑的替换。
// Using the `LoadBalancedChannel`.
use ginepro::LoadBalancedChannel;
use ginepro::pb::tester_client::TesterClient;
// Build a load-balanced channel given a service name and a port.
let load_balanced_channel = LoadBalancedChannel::builder(
("my_hostname", 5000)
)
.channel()
.await
.expect("failed to construct LoadBalancedChannel");
// Initialise a new gRPC client for the `Test` service
// using the load-balanced channel as transport
let grpc_client = TesterClient::new(load_balanced_channel);
有关更多示例,请参阅 示例目录。
许可证
根据您的选择,在 Apache 许可证,版本 2.0 或 MIT 许可证 下许可。除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在作品中并由您提交的任何贡献,都将按照上述方式双许可,没有任何附加条款或条件。
依赖项
~16–26MB
~495K SLoC