Eureka Rest接口文檔

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><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

返回結果:

和批量獲取實例信息的結構一致

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章