load-balancing - 使用 traefik 的 Grpc 负载平衡不起作用
问题描述
我希望使用 traefik 作为 grpc 负载均衡。这是 traefik.toml 文件配置。
logLevel = "INFO"
[entryPoints]
[entryPoints.http]
address = ":2525"
[file]
[backends]
[backends.backend1]
[backends.backend1.servers.server1]
url = "http://localhost:6565"
weight = 10
[frontends]
[frontends.frontend1]
backend = "backend1"
[frontends.frontend1.headers]
# SSLRedirect = true
[frontends.frontend1.routes.Route1]
rule = "Host:localhost"
我的 grpc 服务器主机是localhost
,端口是6565
. localhost:6565
Grpc 客户端向(服务器)发送 grpc 请求可以正常工作。但是当我将 traefik 配置为监听端口2525
并运行traefik
. 按照我的要求,将 grpc 客户端端口更改2525
为不是负载平衡。
但是traefik根据访问日志检测到grpc(http2)请求。
127.0.0.1 - - [13/Jun/2018:05:23:16 +0000] "PRI * HTTP/2.0" 404 19 "-" "-" 1 "backend not found" "*" 0ms
127.0.0.1 - - [13/Jun/2018:05:23:16 +0000] "PRI * HTTP/2.0" 404 19 "-" "-" 2 "backend not found" "*" 0ms
它说backend not found
。很难理解为什么会发生这种情况。我通过互联网寻求更好的解决方案。有人说https
用这个。但是在NGINX
使用时我们不需要使用https
. 所以我需要这样的解决方案。有人可以给我一个更好的解决方案吗?