摘要:在使用調用廣告投放系統之前,我們需要先創建個對象,數據請求對象請求響應結果反序列化對象在啟動類中,添加客戶端。注冊讓在調用服務的時候,可以實現負載均衡創建一個,來測試調用廣告提供系統的若初注入
在使用Ribbon調用廣告投放系統API之前,我們需要先創建2個VO對象,AdPlanVO,AdPlanGetRequestVO.
//數據請求對象 @Data @NoArgsConstructor @AllArgsConstructor public class AdPlanGetRequestVO { private Long userId; private ListplanIds; } ---------------------------------- //API請求響應結果反序列化對象 @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在調用服務的時候,可以實現負載均衡 RestTemplate restTemplate(){ return new RestTemplate(); } }
創建一個controller,來測試調用廣告提供系統的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; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75717.html
摘要:上一節我們使用了基于進行微服務的調用,的調用比較簡單,通過組件對請求的服務進行攔截,通過獲取到服務實例的然后再去調用。為了代碼的重用性,我們來創建一個新的作為的服務調用工具。 上一節我們使用了Ribbon(基于Http/Tcp)進行微服務的調用,Ribbon的調用比較簡單,通過Ribbon組件對請求的服務進行攔截,通過Eureka Server 獲取到服務實例的IP:Port,然后再去...
摘要:在前面的過程中,我們創建了個服務發現我們使用作為服務發現組件,學習了的使用。加依賴加注解改配置使用項目三部曲,我們可以快速添加一個新組件,并正常使用這個我沒有在項目中實現,但是大家可以和一樣,三部曲搞定。 在前面的過程中,我們創建了4個project: 服務發現 我們使用Eureka 作為服務發現組件,學習了Eureka Server,Eureka Client的使用。 Eureka...
摘要:工作流程項目依賴監控面板引入服務調用的組件依賴引入服務消費者的依賴數據庫鏈接依賴工具類集合類操作日志監聽解析開源工具類庫中的配置相關依賴圖片壓縮 工作流程 showImg(https://i.loli.net/2019/07/29/5d3ee1829df4d57461.png); 項目依賴 org.springframewo...
摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統解決方案。提供線程池不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...
摘要:不過大多數講解還停留在對功能使用的層面,其底層的很多原理,很多人可能并不知曉。每個線程池里的線程就僅僅用于請求那個服務。 歡迎關注微信公眾號:石杉的架構筆記(id:shishan100) 每日更新!精品技術文章準時送上! 目錄 一、業務場景介紹 二、Spring Cloud核心組件:Eureka 三、Spring Cloud核心組件:Feign 四、Spring Cloud核心組件:R...
閱讀 1630·2023-04-25 18:19
閱讀 2078·2021-10-26 09:48
閱讀 1079·2021-10-09 09:44
閱讀 1731·2021-09-09 11:35
閱讀 3027·2019-08-30 15:54
閱讀 2021·2019-08-30 11:26
閱讀 2285·2019-08-29 17:06
閱讀 884·2019-08-29 16:38