国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[Spring cloud 一步步實現廣告系統] 10. 使用Ribbon 實現微服務調用

junbaor / 1899人閱讀

摘要:在使用調用廣告投放系統之前,我們需要先創建個對象,數據請求對象請求響應結果反序列化對象在啟動類中,添加客戶端。注冊讓在調用服務的時候,可以實現負載均衡創建一個,來測試調用廣告提供系統的若初注入

在使用Ribbon調用廣告投放系統API之前,我們需要先創建2個VO對象,AdPlanVO,AdPlanGetRequestVO.

//數據請求對象
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AdPlanGetRequestVO {
    private Long userId;
    private List planIds;
}

----------------------------------
 
//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

相關文章

  • [Spring cloud 步步實現廣告系統] 11. 使用Feign實現服務調用

    摘要:上一節我們使用了基于進行微服務的調用,的調用比較簡單,通過組件對請求的服務進行攔截,通過獲取到服務實例的然后再去調用。為了代碼的重用性,我們來創建一個新的作為的服務調用工具。 上一節我們使用了Ribbon(基于Http/Tcp)進行微服務的調用,Ribbon的調用比較簡單,通過Ribbon組件對請求的服務進行攔截,通過Eureka Server 獲取到服務實例的IP:Port,然后再去...

    Forest10 評論0 收藏0
  • [Spring cloud 步步實現廣告系統] 7. 中期總結回顧

    摘要:在前面的過程中,我們創建了個服務發現我們使用作為服務發現組件,學習了的使用。加依賴加注解改配置使用項目三部曲,我們可以快速添加一個新組件,并正常使用這個我沒有在項目中實現,但是大家可以和一樣,三部曲搞定。 在前面的過程中,我們創建了4個project: 服務發現 我們使用Eureka 作為服務發現組件,學習了Eureka Server,Eureka Client的使用。 Eureka...

    cnsworder 評論0 收藏0
  • [Spring cloud 步步實現廣告系統] 8. 檢索系統配置&依賴

    摘要:工作流程項目依賴監控面板引入服務調用的組件依賴引入服務消費者的依賴數據庫鏈接依賴工具類集合類操作日志監聽解析開源工具類庫中的配置相關依賴圖片壓縮 工作流程 showImg(https://i.loli.net/2019/07/29/5d3ee1829df4d57461.png); 項目依賴 org.springframewo...

    dailybird 評論0 收藏0
  • 2021 年最新基于 Spring Cloud服務架構分析

    摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統解決方案。提供線程池不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...

    cikenerd 評論0 收藏0
  • 拜托!面試請不要再問我Spring Cloud底層原理!

    摘要:不過大多數講解還停留在對功能使用的層面,其底層的很多原理,很多人可能并不知曉。每個線程池里的線程就僅僅用于請求那個服務。 歡迎關注微信公眾號:石杉的架構筆記(id:shishan100) 每日更新!精品技術文章準時送上! 目錄 一、業務場景介紹 二、Spring Cloud核心組件:Eureka 三、Spring Cloud核心組件:Feign 四、Spring Cloud核心組件:R...

    wums 評論0 收藏0

發表評論

0條評論

junbaor

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<