Spring Cloud學習筆記-005

服務消費者

  以前已經搭建好了微服務中的核心組件——服務註冊中心(包括單節點模式和高可用模式)。也有了服務提供者,接下來搭建一個服務消費者,它主要完成兩個目標,發現服務以及消費服務。其中,服務發現的任務由Eureka的客戶端完成,而服務消費的任務由Ribbon完成。web

  Spring Cloud Ribbon是一個基於HTTP和TCP的客戶端負載均衡工具,它基於Netflix Ribbon實現。經過Spring Cloud的封裝,能夠讓咱們輕鬆地將面向服務的REST模板請求自動轉換成客戶端負載均衡的服務調用。Spring Cloud Ribbon雖然只是一個工具類框架,它不像服務註冊中心、配置中心、API網關那樣須要獨立部署,可是它幾乎存在於每個Spring Cloud構建的微服務和基礎設施中。由於微服務間的調用,API網關的請求轉發等內容,實際上都是經過Ribbon來實現的,包括Feign,它也是基於Ribbon實現的工具。spring

1. 首先,啓動一個服務註冊中心(端口號7001),並啓動demo-member服務(端口號:5001),啓動成功後,將demo-member的端口號改成5002,再啓動一個demo-member服務。瀏覽器

2. 新建maven工程,骨架選擇quickstart,工程名稱:demo-customerapp

3. 加入相關依賴:負載均衡

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
    <relativePath />
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-ribbon</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Dalston.SR5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

4. 編寫啓動類,並在啓動類中建立RestTemplate實例,並經過@LoadBalanced註解開啓客戶端負載均衡:框架

5. 建立消費者調用服務接口:eclipse

6. 在src\main\resources目錄下新建application.yml文件:maven

7. 啓動消費者項目,瀏覽器調用getMember接口,觀察效果。spring-boot

8. 觀察eclipse控制檯,發現5001和5002兩個服務一次被調用,說明Ribbon也起到了負載均衡的效果。微服務

相關文章
相關標籤/搜索