SpringCloud中24個很重要的Starter

SpringCloud中幾個很重要的組件

寫在前面

其實在這些個Starter之上,是一個團隊的努力結果,從下圖可以看出,每個Starter都是基於相應類似Netflix團隊的Starter-Netflix-XX,開發,團隊會根據需要,在Starter-Netflix-XXX中封裝SDK,最後整合使用在Starter中,需要注意的是,當我們想當然的想使用某些依賴的時候,你確定,是否添加已重複的依賴,或者你根本就沒使用更方便集成的Starter-XXX依賴,只是基於某些Starter-Netflix-XXX依賴,開發…

在這裏插入圖片描述

注意,Starter-Netflix-XXX,只是Netflix團隊基於SpringCloud開發的微服務的架構,也是目前使用份額最大的一部分,包括這24個Starter,開箱即用的Starter,大部分也是Netflix團隊的成果,還有包括Spring家族,淘寶團隊等等…

下面的內容,就是圍繞這24個Starter…
在這裏插入圖片描述

一、spring-cloud-starter-eureka

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.3.2.RELEASE</version>
</dependency>

在這裏插入圖片描述

1.1、待辦事項

  • Netflix團隊
  • Demo

1.2、基本介紹

微服務中常用到的用於管理微服務間的調度和監控用的
源碼中冰山一角,是Netflix團隊集成多種優秀的實現以及多種結構的數據封裝而成的

在這裏插入圖片描述

二、spring-cloud-starter-eureka-server

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.3.2.RELEASE</version>
        </dependency>

在這裏插入圖片描述

2.1、待辦事項

  • Netflix團隊
  • Demo

三、spring-cloud-starter-turbine

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-turbine</artifactId>
    <version>1.4.7.RELEASE</version>
</dependency>

在這裏插入圖片描述

3.1、待辦事項

  • Netflix
  • Demo

四、spring-cloud-starter-hystrix

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.3.1.RELEASE</version>
</dependency>

在這裏插入圖片描述

4.1、待辦事項

  • Netflix
  • Demo

五、spring-cloud-starter-ribbon

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-ribbon</artifactId>
    <version>1.4.7.RELEASE</version>
</dependency>

在這裏插入圖片描述

5.1、待辦事項

  • Netflix團隊
  • Demo

六、spring-cloud-starter-zuul

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
            <version>1.3.0.RELEASE</version>
        </dependency>

在這裏插入圖片描述

6.1、待辦事項

  • Netflix團隊
  • Demo

6.2、API 統一網關

簡單配置如下

zuul:
  prefix: /api
  routes:
    hello-server:
      path: /server/**
      url: http://localhost:8071
    hello-client:
      path: /client/**
      serviceId: HELLO-CLIENT

這樣可以通過訪問當前服務的 ip:port/api/server/xxx,即可訪問hello-server的xxx服務

七、spring-cloud-starter-sleuth

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

在這裏插入圖片描述

7.1、待辦事項

  • Spring團隊
  • Demo

八、spring-cloud-starter-alibaba

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba</artifactId>
            <version>0.9.0.RELEASE</version>
        </dependency>

淘寶團隊,這是一個Pom工程

   <parent>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-alibaba</artifactId>
        <version>0.9.0.RELEASE</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>spring-cloud-starter-alibaba</artifactId>
    <packaging>pom</packaging>
    <name>Spring Cloud Alibaba Starters</name>
    <description>Spring Cloud Alibaba Starters</description>
    <modules>
        <module>spring-cloud-starter-alibaba-nacos-config</module>
        <module>spring-cloud-starter-alibaba-nacos-config-server</module>
        <module>spring-cloud-starter-alibaba-nacos-discovery</module>
        <module>spring-cloud-starter-alibaba-sentinel</module>
        <module>spring-cloud-starter-alibaba-seata</module>
        <module>spring-cloud-starter-stream-rocketmq</module>
        <module>spring-cloud-starter-bus-rocketmq</module>
        <module>spring-cloud-starter-dubbo</module>
    </modules>

8.1、待辦事項

  • 淘寶團隊
  • Demo

九、spring-cloud-starter-archaius

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-archaius</artifactId>
            <version>1.3.6.RELEASE</version>
        </dependency>

在這裏插入圖片描述

9.1、待辦事項

  • Netflix團隊
  • Demo

十、spring-cloud-starter-config

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
            <version>RELEASE</version>
        </dependency>

在這裏插入圖片描述

10.1、待辦事項

  • Spring團隊
  • Demo

10.2、基本介紹是springcloud生態系統中的分佈式的配置實現,

這裏有代碼示例,基於GITHUB作爲分佈式配置的管理
在這裏插入圖片描述
Github倉庫如下
在這裏插入圖片描述

兩個Maven工程(Client + Server) + Github的倉庫

工程代碼示例鏈接在這裏

上面的代碼示例沒有實現熱加載

關於,實現熱部署,需要用到 MQ + Spring Cloud Bus,有時間我再整理出代碼實現

十一、spring-cloud-starter-bus-amqp

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

在這裏插入圖片描述

11.1、待辦事項

  • Spring團隊
  • Demo

十二、spring-cloud-starter-consul

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

在這裏插入圖片描述

12.1、待辦事項

  • Consul團隊
  • Demo

十三、spring-cloud-starter-consul-config

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-config</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

在這裏插入圖片描述

13.1、待辦事項

  • Consul團隊
  • Demo

十四、spring-cloud-starter-consul-discovery

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

在這裏插入圖片描述

14.1、待辦事項

  • Consul團隊
  • Demo

十五、spring-cloud-starter-contract-stub-runner

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

在這裏插入圖片描述

15.1、待辦事項

  • Spring家族
  • Demo

十六、spring-cloud-starter-contract-verifier

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-contract-verifier</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

在這裏插入圖片描述

16.1、待辦事項

  • Spring家族
  • Demo

十七、spring-cloud-starter-feign

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-feign</artifactId>
            <version>1.4.7.RELEASE</version>
        </dependency>

在這裏插入圖片描述

17.1、待辦事項

  • Netflix團隊
  • Demo

十八、spring-cloud-starter-gateway

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>

在這裏插入圖片描述

18.1、待辦事項

  • Spring家族
  • Demo

十九、spring-cloud-starter-oauth2

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-oauth2</artifactId>
            <version>1.2.0.RELEASE</version>
        </dependency>

在這裏插入圖片描述

19.1、待辦事項

  • Spring家族
  • Demo

二十、spring-cloud-starter-openfeign

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>

在這裏插入圖片描述

20.1、待辦事項

  • Netflix團隊
  • Demo

二十一、spring-cloud-starter-stream-kafka

         <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-stream-kafka</artifactId>
                    <version>2.0.1.RELEASE</version>
                </dependency>

在這裏插入圖片描述

21.1、待辦事項

  • Spring家族
  • Demo

二十二、spring-cloud-starter-stream-rabbit

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

在這裏插入圖片描述

22.1、待辦事項

  • Spring家族
  • Demo

二十三、spring-cloud-starter-stream-rocketmq

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rocketmq</artifactId>
            <version>0.9.0.RELEASE</version>
        </dependency>

在這裏插入圖片描述

23.1、待辦事項

  • 淘寶團隊
  • Demo

二十四、spring-cloud-starter-zipkin

<dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-zipkin</artifactId>
             <version>2.1.0.RELEASE</version>
         </dependency>

在這裏插入圖片描述

24.1、待辦事項

  • Spring家族
  • Demo

二十五、其他

SpringCloud中還有很多,類似的開箱即用的Starter,谷歌,亞馬遜,微軟等等都有相應的微服務封裝使用,只是基於資源和網絡有限,不太方便整理…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章