nacos 注册python bottle服务,“服务不健康”的解决方案

是因为nacos有个心跳机制,一个服务注册了以后,如果15秒内没人请求它,就认为这个服务不健康,就会变成红色,30秒内没人请求就会把它删了,需要写个心跳机制,比如每5秒请求一下它,保证它一直健康。找到的 python 代码如下,找不到原文了,如有问题请随时联系我:

import json
import requests
import time

NACOS_IP = "192.168.#.#" #你自己的nacos ip
NACOS_PORT = '8848'
NACOS_GROUP = 'default_group'
NACOS_NAME_SPACE='###' #你自己的namespace id
SERV_NAME = 'your service name'
SERV_IP = '192.168.your service ip'
SERV_PORT = 'your service port '


def create_instance():
	create_instance_url = 'http://'+NACOS_IP+':'+NACOS_PORT+'/nacos/v1/ns/instance?healthy=true&port='+SERV_PORT+'&ip='+SERV_IP+'&groupName='+NACOS_GROUP+'&serviceName='+SERV_NAME+'&namespaceId='+NACOS_NAME_SPACE
	response = requests.post(create_instance_url)
	print('创建实例请求返回'+response.text)


def beat():
	beat_info = {
		'ip': SERV_IP,
		'port': SERV_PORT,
		'serviceName': SERV_NAME
	}
	beat_url = 'http://'+NACOS_IP+':'+NACOS_PORT+'/nacos/v1/ns/instance/beat?serviceName='+SERV_NAME+'&beat='+json.dumps(beat_info)+'&serviceName='+SERV_NAME+'&port='+SERV_PORT+'&ip='+SERV_IP
	while True:
		response = requests.put(beat_url)
		print('心跳请求返回:'+time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())+' '+response.text)
		time.sleep(5)


def init():
	create_instance()
	beat()


if __name__=='__main__':
	init()

把ip port 换成你自己的,直接运行即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值