Eureka Rest接口文档

版本说明

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>

服务下线

接口地址: /eureka/apps/appID/instanceID

扫描二维码关注公众号,回复: 2681328 查看本文章

调用方式: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: 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 为成功

接口说明:可以获取该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>

获取某个应用下所有实例信息

接口地址: /eureka/apps/appID

调用方式:GET

源码地址:com.netflix.eureka.resources.ApplicationsResource.getApplicationResource()

返回状态:


          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>

获取某个应用下指定的实例

接口地址: /eureka/apps/appID/instanceID

调用方式:GET

源码地址:com.netflix.eureka.resources.ApplicationsResource.getApplicationResource()

返回状态:


          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>

获取任意一个实例

接口地址: /eureka//instances/instanceID

调用方式:GET

源码地址:com.netflix.eureka.resources.InstancesResource.getById()

返回状态:


          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: 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: 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 为成功

通过VIP获取实例信息

接口地址: /eureka/vips/vipAddress

调用方式:GET

源码地址:com.netflix.eureka.resources.VIPResource.statusUpdate()

返回状态:


          HTTPCode: 200 为成功

接口说明:VIP默认为实例的应用名。

调用说明:

地址:http://server1:7010//eureka/vips/eureka-a

返回结果:

和批量获取实例信息的结构一致

通过SVIP获取实例信息

接口地址: /eureka/svips/svipAddress

调用方式:GET

源码地址:com.netflix.eureka.resources.SecureVIPResource.statusUpdate()

返回状态:


          HTTPCode: 200 为成功

接口说明:SVIP默认为实例的应用名。

调用说明:

地址:http://server1:7010//eureka/svips/eureka-a

返回结果:

和批量获取实例信息的结构一致

猜你喜欢

转载自blog.csdn.net/u012394095/article/details/81027286
今日推荐