#健康检查 #grpc #包装器

grpcio-health

为 grpcio 提供健康检查包装器

8 个版本 (5 个破坏性版本)

0.13.0 2023 年 8 月 25 日
0.12.1 2023 年 2 月 14 日
0.12.0 2022 年 11 月 4 日
0.11.0 2022 年 9 月 14 日
0.8.0 2021 年 3 月 16 日

#8 in #健康检查

Download history 206/week @ 2024-03-13 202/week @ 2024-03-20 247/week @ 2024-03-27 172/week @ 2024-04-03 125/week @ 2024-04-10 156/week @ 2024-04-17 197/week @ 2024-04-24 62/week @ 2024-05-01 170/week @ 2024-05-08 129/week @ 2024-05-15 165/week @ 2024-05-22 194/week @ 2024-05-29 199/week @ 2024-06-05 191/week @ 2024-06-12 136/week @ 2024-06-19 127/week @ 2024-06-26

690 每月下载量
用于 mmdb-grpc

Apache-2.0

295KB
6.5K SLoC

grpcio-healthcheck

Crates.io docs.rs

grpcio-health 提供健康检查协议以及一些辅助结构,以便轻松进行健康检查。


lib.rs:

grpcio-health 提供健康检查协议以及一些辅助结构,以便轻松进行健康检查。关于健康检查服务的详细设计,请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md

使用方法

该包提供了一个默认的 Health 服务实现,您可以使用它来维护服务状态。首先,您需要将其注册到服务器构建器中,以便它可以在以后提供健康检查服务。

use grpcio_health::{HealthService, create_health};

let service = HealthService::default();
let builder = builder.register_service(create_health(service.clone()));

然后插入查询的服务状态。

service.set_serving_status("", ServingStatus::Serving);

""" 表示整体健康状态。您也可以提供特定的服务名称。

客户端可以使用 check 进行一次性查询或 watch 来观察状态变化。

use grpcio_health::proto::HealthCheckRequest;

let client = HealthClient::new(ch);
let req = HealthCheckRequest { service: "".to_string(), ..Default::default() };
let status_resp = client.check_async(&req).await.unwrap();
assert_eq!(statuss_resp.status, ServingStatus::Serving);

依赖项

~37MB
~633K SLoC