spring cloud gateway 路由配置中:
uri: lb后面的服务名中不能使用 _ ,例如 "uri": "lb:demo_server_py" gateway就会报主机解析异常 ,因此,服务在注册到注册中心时,服务名不能包含 _
注: 对java了解不多,因此只能看到表象,如果解释理解有误,请及时纠正我
python 使用nacos注册服务,需要定时发送心跳:
服务注册方法:
import nacos
client = nacos.NacosClient(server_addresses="192.168.81.194:8848")
# client.set_debugging()
result = client.add_naming_instance(service_name=SERVICE_NAME, ip="192.168.113.196", port=args.port,
cluster_name="demo")
心跳定时发送可以单起线程做心跳发送,建议3秒一次心跳
def send_heartbeat():
while True:
time.sleep(3)
client.send_heartbeat(service_name=SERVICE_NAME, ip="192.168.113.196",
port=args.port, cluster_name="demo")
t = threading.Thread(target=send_heartbeat, args=())
t.setDaemon(True)
t.start()
如果不先休眠,在nacos服务列表里会显示该服务有两个实例,具体原因没有探究