我试着部署了一下

来源:35-11 新建订单-本地事务确保创建成功

三生三途

2021-01-27

我把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回答

三生三途

提问者

2021-01-29

我试了很多种方法,

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


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

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

0
1
bobby
你留下qq 我加你看看
2021-01-29
共1条回复

三生三途

提问者

2021-01-29


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

0
1
fiecato
这个我在部署的时候遇到了部署服务器防火墙未放行端口,导致consul无法检测服务从而自动注销
2022-10-26
共1条回复

三生三途

提问者

2021-01-28

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

0
4
fiecato
回复
城中城
这个我在部署的时候遇到了部署服务器防火墙未放行端口,导致consul无法检测服务从而自动注销,你看看你有没有关防火墙
2022-10-26
共4条回复

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程