如何解决Amazon EC2 目标组 Grpc 运行状况检查不起作用
我在 ec2 上部署了一个简单的 grpc greeter 应用程序,并实现了健康检查 proto 文件,请参见此处:https://github.com/grpc/grpc/blob/master/doc/health-checking.md
当我启动 kestrel 服务器时,我可以毫无问题地连接到欢迎服务。当我分配一个目标组并设置健康检查时,它失败了。 Kestrel 服务器使用 http/http/2 和 http/3 侦听端口 5000,使用 https 和自签名证书侦听端口 5001。
Targetgroup 配置为 https 端口 5001 和 grpc 协议。健康检查路径设置为/grpc.health.v1.Health/Check
成功返回码设置为0-99只是为了测试。应该是0,因为默认的成功码是0。
是我的路径错误还是我的实现?这是我的实现:
public class HealthService : Health.HealthBase
{
private readonly ILogger<HealthService> _logger;
public HealthService(ILogger<HealthService> logger)
{
_logger = logger;
}
public override Task<HealthCheckResponse> Check(HealthCheckRequest request,ServerCallContext context)
{
context.Status = Status.DefaultSuccess;
return Task.Fromresult( new HealthCheckResponse() { Status = HealthCheckResponse.Types.ServingStatus.Serving });
}
public override Task Watch(HealthCheckRequest request,IServerStreamWriter<HealthCheckResponse> responseStream,ServerCallContext context)
{
return base.Watch(request,responseStream,context);
}
}
感谢您的帮助或建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。