微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Amazon EC2 目标组 Grpc 运行状况检查不起作用

如何解决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 举报,一经查实,本站将立刻删除。