基于 eureka 的服务发现

2021-05-10  本文已影响0人  BestFei

一、环境部署
eureka 在本地的url
http://eureka.best.net:8761/
获取在eureka注册的所有服务
http://eureka.best.net:8761/eureka/apps/
获取在eureka注册的MY-SERVICE服务的所有节点
http://eureka.best.net:8761/eureka/apps/MY-SERVICE

二、服务发现
1、发送接口请求,获取服务节点信息
http://eureka.best.net:8761/eureka/apps/MY-SERVICE
报文结构,有3个节点,所以就有3个instance

报文结构

一个instance 报文内容

{
    "instanceId": "10.100.71.59:9088",
    "hostName": "10.100.71.59",
    "app": "MY-SERVICE",
    "ipAddr": "10.100.71.59",
    "status": "UP",
    "overriddenStatus": "UNKNOWN",
    "port": {
        "$": 9088,
        "@enabled": "true"
    },
    "securePort": {
        "$": 443,
        "@enabled": "false"
    },
    "countryId": 1,
    "dataCenterInfo": {
        "@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo",
        "name": "MyOwn"
    },
    "leaseInfo": {
        "renewalIntervalInSecs": 5,
        "durationInSecs": 15,
        "registrationTimestamp": 1620617698704,
        "lastRenewalTimestamp": 1620632779002,
        "evictionTimestamp": 0,
        "serviceUpTimestamp": 1620617698704
    },
    "metadata": {
        "management.port": "9088",
        "envflag": "normal",
        "deployflag": "official"
    },
    "homePageUrl": "http://10.100.71.59:9088/",
    "statusPageUrl": "http://10.100.71.59:9088/info",
    "healthCheckUrl": "http://10.100.71.59:9088/health",
    "vipAddress": "MY-SERVICE",
    "secureVipAddress": "MY-SERVICE",
    "isCoordinatingDiscoveryServer": "false",
    "lastUpdatedTimestamp": "1620617698704",
    "lastDirtyTimestamp": "1620617698588",
    "actionType": "ADDED"
}

解析报文,
ipAddr 字段获取 ip ,status 字段获取状态,homePageUrl 字段获取请求url(包含ip和端口),
instance.get(i).get("metadata").get("envflag") ,获取节点别名(泳道标签)

上一篇下一篇

猜你喜欢

热点阅读