请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

我试着部署了一下

我把python服务放到了docker里,映射了7041:7041端口,服务启动用的7041端口

有几个问题想请教一下老师,

  1. 正式部署的时候
server.add_insecure_port(f'{args.ip}:{port}')

是不是应该改成下面这个呢

server.add_secure_port(f'{args.ip}:{port}', server_credentials)

server_credentials是什么参数呢。。。证书吗?格式应该什么什么样的呢

  1. consul注册的ip应该是什么呢,我先是填了服务器的内网,grpc健康检查是失败的,然后我又改成了服务器外网ip,还是失败的。。。(我的consul和python部署分别在2台阿里云服务器上,用的专有网络。我去consul 的docker容器里ping python服务器的内网和外网都是ping的通的。。。)
register.register(name=config["name"], service_id=server_id, address="47.98.244.204", port=port, tags=config["tags"], check=None)
  1. 使用内网ip时端口访问时需不需要配置 阿里云服务器的安全组暴露对应端口呢?我上面的测试都是加了安全组的。
  2. golang服务的grpc 拨号时也是用到了不安全的协议 grpc.WithInsecure(),正式部署到服务器时应该怎么写呢
grpc.Dial(
		fmt.Sprintf("consul://%s:%d/%s?wait=14s", wap.SrvConf.Consul.Host, wap.SrvConf.Consul.Port, wap.SrvConf.BaseSrv.Name),
		grpc.WithInsecure(),
		grpc.WithDefaultServiceConfig(`{"loadBalancingPolicy": "round_robin"}`),
		grpc.WithUnaryInterceptor(unaryClientInterceptor),
	)
  1. consul的client模式是什么啊。。讲课时用的是-dev模式,我改成了-server模式启动的。。不知道还需不需要配置其他内容

图片描述
图片描述

正在回答 回答被采纳积分+3

3回答

提问者 三生三途 2021-01-29 11:18:33

我试了很多种方法,

只有consul和服务在一台服务器上,且服务注册时,consul的地址必须为公网ip,py-srv的地址必须为内网ip才能健康检查通过。。其他情况只能注册进去,健康检查不能通过。


老师帮帮忙啊。。服务之间健康检查的ip地址是不是有什么限制啊。为什么consul是私网ip,py-srv也用私网的情况健康检查不能通过啊啊啊啊啊啊啊,

全部都是只能注册,不能通过健康检查

0 回复 有任何疑惑可以回复我~
  • bobby #1
    你留下qq 我加你看看
    回复 有任何疑惑可以回复我~ 2021-01-29 13:47:28
提问者 三生三途 2021-01-29 01:08:52


https://img1.sycdn.imooc.com//6012ef830001356606400497.jpg
我部署的大概流程是这样的,为什么健康检查一直不通过呢。。

0 回复 有任何疑惑可以回复我~
  • fiecato #1
    这个我在部署的时候遇到了部署服务器防火墙未放行端口,导致consul无法检测服务从而自动注销
    回复 有任何疑惑可以回复我~ 2022-10-26 19:27:19
提问者 三生三途 2021-01-28 19:11:22

还有个问题,ssl证书,每个rpc都要单独申请一个证书吗?可以用阿里云上的免费证书吗

0 回复 有任何疑惑可以回复我~
  • bobby #1
    问题已解决
    回复 有任何疑惑可以回复我~ 2021-01-29 14:42:34
  • 提问者 三生三途 回复 bobby #2
    谢谢老师的解答!问题解决了!!!
    回复 有任何疑惑可以回复我~ 2021-01-29 14:45:41
  • 城中城 回复 提问者 三生三途 #3
    能不能说说解决的办法
    回复 有任何疑惑可以回复我~ 2022-07-03 19:13:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信