当前位置: 首页 > backend >正文

Eureka REST 相关接口


可供非 Java 应用程序使用的 Eureka REST 操作。

appID 是应用程序的名称,instanceID 是与实例关联的唯一标识符。在 AWS 云中,instanceID 是实例的实例 ID;在其他数据中心,它是实例的主机名。

对于 XML/JSON,HTTP 的 ACCEPT 类型以及提供的 content-type 必须分别包含 application/xmlapplication/json

操作HTTP 动作描述
注册新应用程序实例POST /eureka/v2/apps/{appID}输入: JSON/XML 负载
HTTP 状态码: 成功时返回 204
注销应用程序实例DELETE /eureka/v2/apps/{appID}/{instanceID}HTTP 状态码: 成功时返回 200
发送应用程序实例心跳PUT /eureka/v2/apps/{appID}/{instanceID}HTTP 状态码:
* 成功时返回 200
* 如果 instanceID 不存在则返回 404
查询所有实例GET /eureka/v2/appsHTTP 状态码: 成功时返回 200
输出: JSON/XML
查询特定 appID 的所有实例GET /eureka/v2/apps/{appID}HTTP 状态码: 成功时返回 200
输出: JSON/XML
查询特定 appID/instanceIDGET /eureka/v2/apps/{appID}/{instanceID}HTTP 状态码: 成功时返回 200
输出: JSON/XML
查询特定 instanceIDGET /eureka/v2/instances/{instanceID}HTTP 状态码: 成功时返回 200
输出: JSON/XML
将实例移出服务PUT /eureka/v2/apps/{appID}/{instanceID}/status?value=OUT_OF_SERVICEHTTP 状态码:
* 成功时返回 200
* 失败时返回 500
将实例移回服务(移除覆盖状态)DELETE /eureka/v2/apps/{appID}/{instanceID}/status?value=UPHTTP 状态码:
* 成功时返回 200
* 失败时返回 500
(value=UP 是可选的,它作为移除覆盖状态后回退状态的建议值)
更新元数据PUT /eureka/v2/apps/{appID}/{instanceID}/metadata?key=valueHTTP 状态码:
* 成功时返回 200
* 失败时返回 500
查询特定 vip 地址下的所有实例GET /eureka/v2/vips/{vipAddress}HTTP 状态码:
* 成功时返回 200,输出:JSON/XML
* 如果 vipAddress 不存在则返回 404
查询特定安全 vip 地址下的所有实例GET /eureka/v2/svips/{svipAddress}HTTP 状态码:
* 成功时返回 200,输出:JSON/XML
* 如果 svipAddress 不存在则返回 404

注册 (REGISTER)

注册时,需要提交一个符合以下 XSD 的 XML(或 JSON)请求体:

{"$schema": "http://json-schema.org/draft-04/schema#","title": "Eureka Instance Registration","type": "object","required": ["hostName","app","ipAddr","vipAddress","secureVipAddress","status","securePort","homePageUrl","statusPageUrl","healthCheckUrl","dataCenterInfo"],"properties": {"hostName": {"type": "string","description": "在 EC2 中应为公共 DNS 名称(在 EC2 内部解析为私有 IP)"},"app": {"type": "string","description": "应用程序名称 (appID)"},"ipAddr": {"type": "string","description": "实例的 IP 地址"},"vipAddress": {"type": "string","description": "虚拟 IP 地址"},"secureVipAddress": {"type": "string","description": "安全虚拟 IP 地址"},"status": {"type": "string","enum": ["UP", "DOWN", "STARTING", "OUT_OF_SERVICE", "UNKNOWN"],"description": "实例状态"},"port": {"type": "integer","minimum": 1,"description": "服务端口(可选)"},"securePort": {"type": "integer","minimum": 1,"description": "安全端口"},"homePageUrl": {"type": "string","description": "主页 URL"},"statusPageUrl": {"type": "string","description": "状态页 URL"},"healthCheckUrl": {"type": "string","description": "健康检查 URL"},"dataCenterInfo": {"type": "object","required": ["name"],"properties": {"name": {"type": "string","enum": ["MyOwn", "Amazon"],"description": "数据中心名称"},"metadata": {"type": "object","properties": {"ami-launch-index": {"type": "string"},"local-hostname": {"type": "string"},"availability-zone": {"type": "string"},"instance-id": {"type": "string"},"public-ipv4": {"type": "string"},"public-hostname": {"type": "string"},"ami-manifest-path": {"type": "string"},"local-ipv4": {"type": "string"},"hostname": {"type": "string"},"ami-id": {"type": "string"},"instance-type": {"type": "string"}},"description": "仅当 name 为 Amazon 时需要 AWS 元数据","additionalProperties": false}},"additionalProperties": false},"leaseInfo": {"type": "object","properties": {"evictionDurationInSecs": {"type": "integer","minimum": 1,"description": "租约驱逐时间(秒),默认为 90 秒(可选)"}},"additionalProperties": false},"metadata": {"type": "object","description": "应用特定的键值对元数据(可选)","additionalProperties": {"type": ["string", "number", "boolean", "null"]}}},"additionalProperties": false
}

续约 (RENEW)

示例: PUT /eureka/v2/apps/MYAPP/i-6589ef6

响应:
• 状态码: 200 (成功)

• 状态码: 404 (Eureka 不认识该实例,请先注册)

• 状态码: 500 (失败)

注销 (CANCEL)

(如果 Eureka 在 evictionDurationInSecs(驱逐持续时间)内未收到服务节点的心跳,则该节点将自动注销)

示例: DELETE /eureka/v2/apps/MYAPP/i-6589ef6

响应:
• 状态码: 200 (成功)

• 状态码: 500 (失败)


http://www.xdnf.cn/news/12180.html

相关文章:

  • 云原生思维重塑数字化基座:从理念到实践的深度剖析
  • Python基于蒙特卡罗方法实现投资组合风险管理的VaR与ES模型项目实战
  • Django CMS 的 Demo
  • 每日算法 -【Swift 算法】三数之和最接近目标值
  • Golang——9、反射和文件操作
  • Redis:介绍和认识,通用命令,数据类型和内部编码,单线程模型
  • 深入浅出玩转物联网时间同步:基于BC260Y的NTP实验与嵌入式仿真教学革命
  • 从《现实不似你所见》探寻与缘起性空的思想交织
  • MySQL间隙锁入手,拿下间隙锁面试与实操
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: TTask创建多线程, 更简单, 更快捷.
  • 报告精读:“数据银行”概念模型与建设规划研究报告【附全文阅读】
  • JavaSec-SSTI - 模板引擎注入
  • 【ArcGIS应用】ArcGIS‌应用如何进行影像分类?
  • adb 连不上真机设备问题汇总
  • ros2--图像/image
  • halcon c# 自带examples报错 Matching
  • JVM中的各类引用
  • 设计模式域——软件设计模式全集
  • GIC流协议接口
  • android 之 Tombstone
  • 巴科斯-诺尔范式与抽象语法树:CMake语法实例教程
  • 深入学习RabbitMQ队列的知识
  • RabbitMQ实用技巧
  • 18650锂电池组点焊机:高效组装锂电池的关键工具|比斯特自动化
  • c++ openssl 使用 DES(数据加密标准)进行加密和解密的基本操作
  • ​减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
  • c++算法学习4——广度搜索bfs
  • html文字红色粗体,闪烁渐变动画效果,中英文切换版本
  • 【Linux手册】冯诺依曼体系结构
  • buuctf——web刷题第二页