摘要:在使用調(diào)用廣告投放系統(tǒng)之前,我們需要先創(chuàng)建個對象,數(shù)據(jù)請求對象請求響應結(jié)果反序列化對象在啟動類中,添加客戶端。注冊讓在調(diào)用服務(wù)的時候,可以實現(xiàn)負載均衡創(chuàng)建一個,來測試調(diào)用廣告提供系統(tǒng)的若初注入
在使用Ribbon調(diào)用廣告投放系統(tǒng)API之前,我們需要先創(chuàng)建2個VO對象,AdPlanVO,AdPlanGetRequestVO.
//數(shù)據(jù)請求對象 @Data @NoArgsConstructor @AllArgsConstructor public class AdPlanGetRequestVO { private Long userId; private ListplanIds; } ---------------------------------- //API請求響應結(jié)果反序列化對象 @Data @AllArgsConstructor @NoArgsConstructor public class AdPlanVO { private Long planId; private Long userId; private String planName; private Integer planStatus; private Date startDate; private Date endDate; private Date createTime; private Date updateTime; }
在AdSearchApplication啟動類中,添加RestTemplate客戶端。
public class AdSearchApplication { ... /** * 注冊{@link RestTemplate}Bean * @return */ @Bean @LoadBalanced //讓RestTemplate在調(diào)用服務(wù)的時候,可以實現(xiàn)負載均衡 RestTemplate restTemplate(){ return new RestTemplate(); } }
創(chuàng)建一個controller,來測試調(diào)用廣告提供系統(tǒng)的API
/** * SearchController for search information controller * * @author Isaac.Zhang | 若初 */ @RestController @Slf4j @RequestMapping(path = "/search") public class SearchController { //注入RestTemplate private final RestTemplate restTemplate; @Autowired public SearchController(RestTemplate restTemplate) { this.restTemplate = restTemplate; } @GetMapping(path = "/plan/get-ribbon") public CommonResponse> getAdPlansUseRibbon(@RequestBody AdPlanGetRequestVO requestVO) { log.info("ad-search::getAdPlansUseRibbon -> {}", JSON.toJSONString(requestVO)); return restTemplate.postForEntity( "http://mscx-ad-sponsor/ad-sponsor/plan/get", requestVO, CommonResponse.class ).getBody(); } @GetMapping(path = "/user/get") public CommonResponse getUsers(@Param(value = "username") String username) { log.info("ad-search::getUsers -> {}", JSON.toJSONString(username)); CommonResponse commonResponse = restTemplate.getForObject( "http://mscx-ad-sponsor/ad-sponsor/user/get?username={username}", CommonResponse.class, username ); return commonResponse; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/75717.html
摘要:上一節(jié)我們使用了基于進行微服務(wù)的調(diào)用,的調(diào)用比較簡單,通過組件對請求的服務(wù)進行攔截,通過獲取到服務(wù)實例的然后再去調(diào)用。為了代碼的重用性,我們來創(chuàng)建一個新的作為的服務(wù)調(diào)用工具。 上一節(jié)我們使用了Ribbon(基于Http/Tcp)進行微服務(wù)的調(diào)用,Ribbon的調(diào)用比較簡單,通過Ribbon組件對請求的服務(wù)進行攔截,通過Eureka Server 獲取到服務(wù)實例的IP:Port,然后再去...
摘要:在前面的過程中,我們創(chuàng)建了個服務(wù)發(fā)現(xiàn)我們使用作為服務(wù)發(fā)現(xiàn)組件,學習了的使用。加依賴加注解改配置使用項目三部曲,我們可以快速添加一個新組件,并正常使用這個我沒有在項目中實現(xiàn),但是大家可以和一樣,三部曲搞定。 在前面的過程中,我們創(chuàng)建了4個project: 服務(wù)發(fā)現(xiàn) 我們使用Eureka 作為服務(wù)發(fā)現(xiàn)組件,學習了Eureka Server,Eureka Client的使用。 Eureka...
摘要:工作流程項目依賴監(jiān)控面板引入服務(wù)調(diào)用的組件依賴引入服務(wù)消費者的依賴數(shù)據(jù)庫鏈接依賴工具類集合類操作日志監(jiān)聽解析開源工具類庫中的配置相關(guān)依賴圖片壓縮 工作流程 showImg(https://i.loli.net/2019/07/29/5d3ee1829df4d57461.png); 項目依賴 org.springframewo...
摘要:是一個相對比較新的微服務(wù)框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統(tǒng)解決方案。提供線程池不同的服務(wù)走不同的線程池,實現(xiàn)了不同服務(wù)調(diào)用的隔離,避免了服務(wù)器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務(wù)框架,...
摘要:不過大多數(shù)講解還停留在對功能使用的層面,其底層的很多原理,很多人可能并不知曉。每個線程池里的線程就僅僅用于請求那個服務(wù)。 歡迎關(guān)注微信公眾號:石杉的架構(gòu)筆記(id:shishan100) 每日更新!精品技術(shù)文章準時送上! 目錄 一、業(yè)務(wù)場景介紹 二、Spring Cloud核心組件:Eureka 三、Spring Cloud核心組件:Feign 四、Spring Cloud核心組件:R...
閱讀 1720·2023-04-25 18:19
閱讀 2148·2021-10-26 09:48
閱讀 1207·2021-10-09 09:44
閱讀 1816·2021-09-09 11:35
閱讀 3097·2019-08-30 15:54
閱讀 2131·2019-08-30 11:26
閱讀 2347·2019-08-29 17:06
閱讀 971·2019-08-29 16:38