版本说明
Eureka1.6.2
服务注册
接口地址: /eureka/v2/apps/appID
调用方式:POST
源码地址:com.netflix.eureka.resources.ApplicationResource.addInstance()
返回接口:HTTPCode: 204 为成功
接口说明:据官方文档介绍,该接口是为了注册一个全局应用,目前暂未发现在哪里使用。
调用说明:
地址:http://server1:7010/eureka/apps/EUREKA-D
Content-Type : application/xml
参数如下:
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–监控端口 –>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后修改时间 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
</instance>
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–监控端口 –>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后修改时间 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
</instance>
服务下线
接口地址: /eureka/apps/appID/instanceID
调用方式:DELETE
源码地址:com.netflix.eureka.resources.InstanceResource.cancelLease()
返回状态:HTTPCode: 200 为成功
接口说明:调用该接口,可以直接将服务下线。只不过下次心跳又会注册上来。
调用说明:
地址:http://server1:7010/eureka/apps/EUREKA-D/10.208.204.119:7011
Content-Type : application/xml
心跳续约
接口地址: /eureka/apps/appID/instanceID
调用方式:PUT
源码地址:com.netflix.eureka.resources.InstanceResource.renewLease()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
HTTPCode: 404 续约失败,重新注册
HTTPCode: 404 续约失败,重新注册
接口说明:调用该接口进行心跳续约
调用说明:
地址:http://server1:7010/eureka/apps/EUREKA-D/10.208.204.119:7011
Content-Type : application/xml
获取所有注册信息
接口地址: /eureka/apps
调用方式:GET
源码地址:com.netflix.eureka.resources.ApplicationsResource.getContainers()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
接口说明:可以获取该 Eureka Server 上所有的注册信息
调用说明:
地址:http://server1:7010/eureka/apps
返回结果
<applications>
<versions__delta>1</versions__delta>
<!–HASHCODE –>
<apps__hashcode>UP_6_</apps__hashcode>
<application>
<name>EUREKA-B</name>
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–租约信息 –>
<leaseInfo>
<!–心跳间隔 –>
<renewalIntervalInSecs>30</renewalIntervalInSecs>
<!–实例过期时间 –>
<durationInSecs>90</durationInSecs>
<!–注册时间 –>
<registrationTimestamp>1528277046826</registrationTimestamp>
<!–最后一次续约时间 –>
<lastRenewalTimestamp>1528277985101</lastRenewalTimestamp>
<!–实例最后一次下线时间 –>
<evictionTimestamp>0</evictionTimestamp>
<!–服务启动时间 –>
<serviceUpTimestamp>1528276042944</serviceUpTimestamp>
</leaseInfo>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后更新时间 , 用于判断是否过期 –>
<lastUpdatedTimestamp>1528277046826</lastUpdatedTimestamp>
<!–最后修改时间,用于判断信息的新旧 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
<!–最后修改时间 –>
<actionType>ADDED</actionType>
</instance>
</application>
</applications>
applications>
<versions__delta>1</versions__delta>
<!–HASHCODE –>
<apps__hashcode>UP_6_</apps__hashcode>
<application>
<name>EUREKA-B</name>
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–租约信息 –>
<leaseInfo>
<!–心跳间隔 –>
<renewalIntervalInSecs>30</renewalIntervalInSecs>
<!–实例过期时间 –>
<durationInSecs>90</durationInSecs>
<!–注册时间 –>
<registrationTimestamp>1528277046826</registrationTimestamp>
<!–最后一次续约时间 –>
<lastRenewalTimestamp>1528277985101</lastRenewalTimestamp>
<!–实例最后一次下线时间 –>
<evictionTimestamp>0</evictionTimestamp>
<!–服务启动时间 –>
<serviceUpTimestamp>1528276042944</serviceUpTimestamp>
</leaseInfo>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后更新时间 , 用于判断是否过期 –>
<lastUpdatedTimestamp>1528277046826</lastUpdatedTimestamp>
<!–最后修改时间,用于判断信息的新旧 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
<!–最后修改时间 –>
<actionType>ADDED</actionType>
</instance>
</application>
</applications>
获取某个应用下所有实例信息
接口地址: /eureka/apps/appID
调用方式:GET
源码地址:com.netflix.eureka.resources.ApplicationsResource.getApplicationResource()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
接口说明:可以获取某个应用下所有的机器信息。
调用说明:
地址:http://server1:7010/eureka/apps/EUREKA-A
返回结果
<application>
<name>EUREKA-B</name>
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–租约信息 –>
<leaseInfo>
<!–心跳间隔 –>
<renewalIntervalInSecs>30</renewalIntervalInSecs>
<!–实例过期时间 –>
<durationInSecs>90</durationInSecs>
<!–注册时间 –>
<registrationTimestamp>1528277046826</registrationTimestamp>
<!–最后一次续约时间 –>
<lastRenewalTimestamp>1528277985101</lastRenewalTimestamp>
<!–实例最后一次下线时间 –>
<evictionTimestamp>0</evictionTimestamp>
<!–服务启动时间 –>
<serviceUpTimestamp>1528276042944</serviceUpTimestamp>
</leaseInfo>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后更新时间 , 用于判断是否过期 –>
<lastUpdatedTimestamp>1528277046826</lastUpdatedTimestamp>
<!–最后修改时间,用于判断信息的新旧 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
<!–最后修改时间 –>
<actionType>ADDED</actionType>
</instance>
</application>
<application>
<name>EUREKA-B</name>
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–租约信息 –>
<leaseInfo>
<!–心跳间隔 –>
<renewalIntervalInSecs>30</renewalIntervalInSecs>
<!–实例过期时间 –>
<durationInSecs>90</durationInSecs>
<!–注册时间 –>
<registrationTimestamp>1528277046826</registrationTimestamp>
<!–最后一次续约时间 –>
<lastRenewalTimestamp>1528277985101</lastRenewalTimestamp>
<!–实例最后一次下线时间 –>
<evictionTimestamp>0</evictionTimestamp>
<!–服务启动时间 –>
<serviceUpTimestamp>1528276042944</serviceUpTimestamp>
</leaseInfo>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后更新时间 , 用于判断是否过期 –>
<lastUpdatedTimestamp>1528277046826</lastUpdatedTimestamp>
<!–最后修改时间,用于判断信息的新旧 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
<!–最后修改时间 –>
<actionType>ADDED</actionType>
</instance>
</application>
获取某个应用下指定的实例
接口地址: /eureka/apps/appID/instanceID
调用方式:GET
源码地址:com.netflix.eureka.resources.ApplicationsResource.getApplicationResource()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
接口说明:可以获取某个应用下所有的机器信息。
调用说明:
地址:http://server1:7010/eureka/apps/EUREKA-A/10.208.204.119:7002
返回结果
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–租约信息 –>
<leaseInfo>
<!–心跳间隔 –>
<renewalIntervalInSecs>30</renewalIntervalInSecs>
<!–实例过期时间 –>
<durationInSecs>90</durationInSecs>
<!–注册时间 –>
<registrationTimestamp>1528277046826</registrationTimestamp>
<!–最后一次续约时间 –>
<lastRenewalTimestamp>1528277985101</lastRenewalTimestamp>
<!–实例最后一次下线时间 –>
<evictionTimestamp>0</evictionTimestamp>
<!–服务启动时间 –>
<serviceUpTimestamp>1528276042944</serviceUpTimestamp>
</leaseInfo>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后更新时间 , 用于判断是否过期 –>
<lastUpdatedTimestamp>1528277046826</lastUpdatedTimestamp>
<!–最后修改时间,用于判断信息的新旧 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
<!–最后修改时间 –>
<actionType>ADDED</actionType>
</instance>
<instance>
<!–实例 ID –>
<instanceId>10.208.204.119:7011</instanceId>
<!–实例 HOST –>
<hostName>10.208.204.119</hostName>
<!–全局应用名 –>
<app>EUREKA-D</app>
<!–IP 地址 –>
<ipAddr>10.208.204.119</ipAddr>
<!–实例状态 –>
<status>UP</status>
<!–实例的覆盖状态 –>
<overriddenstatus>UNKNOWN</overriddenstatus>
<!–端口 –>
<port enabled=”true”>7003</port>
<securePort enabled=”false”>443</securePort>
<countryId>1</countryId>
<!–使用的数据中心 –>
<dataCenterInfo class=”com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo”>
<name>MyOwn</name>
</dataCenterInfo>
<!–租约信息 –>
<leaseInfo>
<!–心跳间隔 –>
<renewalIntervalInSecs>30</renewalIntervalInSecs>
<!–实例过期时间 –>
<durationInSecs>90</durationInSecs>
<!–注册时间 –>
<registrationTimestamp>1528277046826</registrationTimestamp>
<!–最后一次续约时间 –>
<lastRenewalTimestamp>1528277985101</lastRenewalTimestamp>
<!–实例最后一次下线时间 –>
<evictionTimestamp>0</evictionTimestamp>
<!–服务启动时间 –>
<serviceUpTimestamp>1528276042944</serviceUpTimestamp>
</leaseInfo>
<metadata>
<management.port>17003</management.port>
</metadata>
<!–主页 –>
<homePageUrl>http://10.208.204.119:7003/</homePageUrl>
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl>
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl>
<!–VIP –>
<vipAddress>eureka-c</vipAddress>
<secureVipAddress>eureka-c</secureVipAddress>
<isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer>
<!–最后更新时间 , 用于判断是否过期 –>
<lastUpdatedTimestamp>1528277046826</lastUpdatedTimestamp>
<!–最后修改时间,用于判断信息的新旧 –>
<lastDirtyTimestamp>1528277019770</lastDirtyTimestamp>
<!–最后修改时间 –>
<actionType>ADDED</actionType>
</instance>
获取任意一个实例
接口地址: /eureka//instances/instanceID
调用方式:GET
源码地址:com.netflix.eureka.resources.InstancesResource.getById()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
接口说明:通过实例 ID,获取任意一个实例,如果实例 ID 重复,默认取第一个
调用说明:
地址:http://server1:7010/eureka/instances/10.208.204.119:7001
返回结果
和获取单个实例的结构一致
设置覆盖状态
接口地址: /eureka/apps/appID/instanceID/status?value=OUT_OF_SERVICE
调用方式:PUT
源码地址:com.netflix.eureka.resources.InstanceResource.statusUpdate()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
HTTPCode: 500 为失败
HTTPCode: 500 为失败
接口说明:给实例设置覆盖状态, 可以用来做强制实例下线
调用说明:
地址:http://server1:7010/eureka/apps/EUREKA-B/10.208.204.119:7001/status?value=OUT_OF_SERVICE
删除覆盖状态接口地址: /eureka/apps/appID/instanceID/status?value=UP
调用方式:DELETE
源码地址:com.netflix.eureka.resources.InstanceResource.deleteStatusUpdate()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
HTTPCode: 500 为失败
HTTPCode: 500 为失败
接口说明:删除实例的覆盖状态 , 可以恢复因设置了覆盖状态的实例上线
调用说明:
地址:http://server1:7010/eureka/apps/EUREKA-B/10.208.204.119:7001/status?value=UP
更新实例的 metadata 信息
接口地址: /eureka/apps/appID/instanceID/metadata?key=value
调用方式:PUTE
源码地址:com.netflix.eureka.resources.InstanceResource.updateMetadata()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
通过 VIP 获取实例信息
接口地址: /eureka/vips/vipAddress
调用方式:GET
源码地址:com.netflix.eureka.resources.VIPResource.statusUpdate()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
接口说明:VIP 默认为实例的应用名。
调用说明:
地址:http://server1:7010//eureka/vips/eureka-a
返回结果:
和批量获取实例信息的结构一致
通过 SVIP 获取实例信息
接口地址: /eureka/svips/svipAddress
调用方式:GET
源码地址:com.netflix.eureka.resources.SecureVIPResource.statusUpdate()
返回状态:
HTTPCode: 200 为成功
HTTPCode: 200 为成功
接口说明:SVIP 默认为实例的应用名。
调用说明:
地址:http://server1:7010//eureka/svips/eureka-a
返回结果:
和批量获取实例信息的结构一致
———————
作者:sharedCode
来源:CSDN
原文:https://blog.csdn.net/u012394095/article/details/81027286
版权声明:本文为博主原创文章,转载请附上博文链接!