溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springCloud入門學習(四):Eureka元數(shù)據(jù)

發(fā)布時間:2020-06-24 01:07:38 來源:網(wǎng)絡 閱讀:1293 作者:櫻桃mayue 欄目:編程語言

Eureka元數(shù)據(jù)有兩種,分別是標準元數(shù)據(jù)和自定元數(shù)據(jù)。

標準元數(shù)據(jù):主機名、IP、端口號、狀態(tài)也及健康檢查等信息。這些信息會被發(fā)布在服務注冊表中,用于服務之間的調(diào)用。

自定義元數(shù)據(jù):用戶自行定義的元素,遠程客戶端可訪問并且可以根據(jù)這些元素進行一定的處理。


遠程客戶端獲取元數(shù)據(jù):movie服務獲取user服務的元數(shù)據(jù)。

1、用戶微服務修改:

server:
??port:?8010
spring:
??application:
????name:?user
eureka:
??client:
????service-url:
??????default-zone:?http://localhost:8761/eureka/
??instance:
????prefer-ip-address:?true
????metadata-map:
??????#?自定義元數(shù)據(jù),k和v都可以隨意定義
??????my-metadata:?user自定義元數(shù)據(jù)

2、電影服務修改:

package?com.my.movie.controller;

import?com.my.movie.Util.ReturnUtil;
import?lombok.extern.slf4j.Slf4j;
import?org.springframework.beans.factory.annotation.Autowired;
import?org.springframework.beans.factory.annotation.Value;
import?org.springframework.cloud.client.ServiceInstance;
import?org.springframework.cloud.client.discovery.DiscoveryClient;
import?org.springframework.http.ResponseEntity;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestMethod;
import?org.springframework.web.bind.annotation.RestController;
import?org.springframework.web.client.RestTemplate;

import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;

/**
?*?@author?垃圾美少女
?*/
@RestController
@Slf4j
public?class?MovieController?{

????@Autowired
????private?DiscoveryClient?discoveryClient;


????@RequestMapping(value?=?"/movie/getUserMetadata",?method?=?RequestMethod.GET)
????public?Map?getUserMetadata(){
????????try?{
????????????List<ServiceInstance>?user?=?discoveryClient.getInstances("user");
????????????return?ReturnUtil.succe***esult(user,"獲取成功");
????????}?catch?(Exception?e)?{
????????????log.error(e.getMessage(),e);
????????????return?ReturnUtil.errorResult(null,"獲取失敗");
????????}
????}
???

}


discoveryClient.getInstances(serviceId);用來獲取指定serviceId的服務的元數(shù)據(jù)。

3、訪問 http://localhost:8020/movie/getUserMetadata

springCloud入門學習(四):Eureka元數(shù)據(jù)


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI