主动剔除eureka中的服务:(服务停止后执行立即从eureka中剔除该服务)
发送delete请求
curl -X DELETE
http://192.168.2.64:8761/eureka/apps/${serviceId}/${instanceId}
http://eurekaservera.msxf.com/metadata.html
http://eurekaservera.msxf.com/eureka/apps/payauthgw
提供给自动化部署切流量的API(先切流,没有流量后停服务,然后发送delete请求到eureka立即剔除该服务)
http://localhost:8761/application/cuttingFlow?serviceId=cca&port=8762&ip=192.168.2.64&status=stop
localhost:8761换成具体的环境,当前API需要提供用户密码方可调用,用户密码见配置中心(online:http://gitlabcloud.msxf.com/config-repo/config-repo dev:http://10.250.140.53:90/cloud/config-repo test:http://gitlab.msxf.com/cloud/config-repo-test)中application.yml#security.user.name/password
例:linux下多参数&需要转义
curl -u opsmonitor:opsmonitor http://10.250.140.98:8761/application/cuttingFlow?serviceId=cmc\&port=8889\&ip=10.250.140.53\&status=stop
参数名
描述
参考值
serviceId 服务名 CMC
port 当前切流节点端口 8761
ip 当前切流节点IP 192.168.2.64
status 流量切换状态
stop:当前节点执行切流
start:当前节点恢复流量
调用此API进行切流,只有当切流量的标记同步到其他eureka-server节点,才会返回
切流成功:返回200
curl -X PUT "http://admin:[email protected]:8761/eureka/apps/{appName}/{instanceId}/status?value=OUT_OF_SERVICE"
curl -X PUT "http://opsmonitor:[email protected]:8761/eureka/apps/PAYBATCH/paybatch-10.125.70.58-8003/status?value=OUT_OF_SERVICE"
curl -X PUT "http://opsmonitor:[email protected]:8761/eureka/apps/PAYBATCH/paybatch-10.125.70.58-8003/status?value=UP"
curl -u opsmonitor:opsmonitorpasswd http://127.0.0.1:8761/application/cuttingFlow?serviceId=paybatch\&port=8003\&ip=10.125.70.58\&status=stop
curl -u opsmonitor:opsmonitorpasswd http://127.0.0.1:8761/application/cuttingFlow?serviceId=paybatch\&port=8003\&ip=10.125.70.58\&status=start
curl -u opsmonitor:opsmonitorpasswd http://127.0.0.1:8761/application/cuttingFlow?serviceId=paygw\&port=8001\&ip=10.125.70.58\&status=stop
curl -u opsmonitor:opsmonitorpasswd http://127.0.0.1:8761/application/cuttingFlow?serviceId=paygw\&port=8001\&ip=10.125.70.58\&status=start
curl http://opsmonitor:[email protected]:8761/application/cuttingFlow?serviceId=paygw\&port=8001\&ip=10.125.70.58\&status=stop
curl http://opsmonitor:[email protected]:8761/application/cuttingFlow?serviceId=paygw\&port=8001\&ip=10.125.70.58\&status=start
localhost:8761/eureka/apps/{spring.application.name}/{服务实例名}/metadata?pro=value
1、查看服务状态
浏览器打开:“http://192.168.101.100:8761/eureka/apps/{appName}”可以查看当前所有的服务状态,<status>OUT_OF_SERVICE</status>代表不可用,<status>UP</status>代表可用,上面的链接要改为自己的eureka地址。
2、curl 发送 put 请求,禁用服务
curl -X PUT "http://admin:[email protected]:8761/eureka/apps/{appName}/{instanceId}/status?value=OUT_OF_SERVICE"
说明:
1. OUT_OF_SERVICE 表示禁用,UP 表示可用,DOWN 表示服务下线(服务关闭或重启了)
2. admin:admin是eureka的登录名和密码,如果没有,直接去掉前面这段;
3. instanceId是上面打开的链接显示的服务列表中的<instanceId>标签内容,如:myapp:192.168.1.100:8080
3、使用 http 工具发送 put 请求,value=UP 让服务可用
4、发送 HTTP delete 请求,删除服务
方式1:
curl -X DELETE http://admin:[email protected]:8000/eureka/apps/{appName}/{instanceId}
说明:admin:admin是eureka的登录名和密码,如果没有,直接去掉前面这段;
方式2:
eviction-interval-timer-in-ms: 3000 eureka server清理无效节点的时间间隔,默认60000毫秒,即60秒
enable-self-preservation: true 是否开启自我保护模式,默认为true
healthcheck.enable: true 开启健康检查
lease-renewal-interval-in-seconds: 3 eureka client发送心跳给server端的频率。如果在leaseExpirationDurationInSeconds后,server端没有收到client的心跳,则将摘除该instance
lease-expiration-duration-in-seconds: 6 eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance
# Eureka Server端配置
eureka.server.responseCacheUpdateIntervalMs=5000
eureka.server.eviction-interval-timer-in-ms=5000
# Eureka Client端配置
eureka.client.registryFetchIntervalSeconds=5
ribbon.ServerListRefreshInterval=5000
#配置服务中心注册地址
eureka.client.service-url.defaultZone=http://localhost:8091/eureka/
#每隔30秒发送一次,证明自己的存在
eureka.instance.lease-renewal-interval-in-seconds=30
标签:status,乱记,http,eureka,serviceId,8761,curl From: https://blog.51cto.com/lenglingx/6390830