• -------------------------------------------------------------
  • ====================================

Eureka Rest接口文档

springcloud dewbay 5年前 (2018-11-05) 2195次浏览 已收录 0个评论 扫描二维码

版本说明

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&gt;
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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&gt;
<!–信息查询接口 –>
<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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&gt;
<!–信息查询接口 –>

<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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&gt;
<!–信息查询接口 –>

<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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&gt;
<!–信息查询接口 –>

<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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&gt;
<!–信息查询接口 –>

<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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&gt;
<!–信息查询接口 –>

<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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&gt;
<!–信息查询接口 –>

<statusPageUrl>http://10.208.204.119:17003/info</statusPageUrl&gt;
<!–健康检查接口 –>
<healthCheckUrl>http://10.208.204.119:17003/health</healthCheckUrl&gt;
<!–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
版权声明:本文为博主原创文章,转载请附上博文链接!


露水湾 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Eureka Rest接口文档
喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址