學習筆記3—分佈式組件

一、SpringCloud的幾大痛點:
SpringCloud部分組件停止維護和更新,給開發帶來不便;
SpringCloud部分環境搭建複雜,沒有完善的可視化界面,我們需要大量的二次開發和定製
SpringCloud配置複雜,難以上手,部分配置差別難以區分和合理應用
SpringCloud Alibaba的優勢: 
阿里使用過的組件經歷了考驗,性能強悍,設計合理,現在開源出來大家用,成套的產品搭配完善的可視化界面給開發運維帶來極大的便利,搭建簡單,學習曲線低。
結合SpringCloud Alibaba我們最終的技術搭配方案:
SpringCloud Alibaba - Nacos:註冊中心(服務發現/註冊)
SpringCloud Alibaba - Nacos:配置中心(動態配置管理)
SpringCloud- Ribbon:負載均衡
SpringCloud- Feign:聲明式hTTP客戶端(調用遠程服務)
SpringCloud Alibaba- Sentinel:服務容錯(限流、降級、熔斷)
SpringCloud- Gateway: API 網關(webflux 編程模式)
SpringCloud- Sleuth:調用鏈監控
SpringCloud Alibaba-Seata:原Fescar, 即分佈式事務解決方案。

二、如何使用nacos註冊中心:

官方文檔:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

引入依賴:

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

註冊中心:

 <!--        服務註冊/發現-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

nacos文檔:https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/readme-zh.md

  1. 首先,修改 pom.xml 文件,引入 Nacos Config Starter。放在common中

     <dependency>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
     </dependency>
    
  2. 在配置文件中配置,往下看

先把Nacos Server 啓動 並添加配置

下載nacos server   1.1.3

注意!啓動這裏有坑,如果啓動startup閃退的話,檢查jdk環境變量是否配置好,然後檢查用戶變量裏是否有JAVA_HOME

訪問:127.0.0.1:8848/nacos     

登錄賬號密碼默認:nacos

接上邊:在服務中心啓動類上添加註解    @EnableDiscoveryClient

 配置文件:

 cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: xuanyuan-member

然後在服務列表就可以看到了:

 

三、如何使用OpenFeign測試 服務之間的遠程調用:

Feign聲明式遠程調用
1、簡介
Feign是一個聲明式的HTTP客戶端,它的目的就是讓遠程調用更加簡單。Feign提供了HTTP請求的模板,通過編寫簡單的接口和插入註解,就可以定義好HTTP請求的參數、格式、地址等信息。
Feign整合了Ribbon (負載均衡)和Hystrix(服務熔斷),可以讓我們不再需要顯式地使用這兩個組件。
SpringCloudFeign在NetflixFeign的基礎上擴展了對SpringMVC註解的支持,在其實現下,我們只需創建一一個接口並用註解的方式來配置它,即可完成對服務提供方的接口綁定。簡化了SpringCloudRibbon自行封裝服務調用客戶端的開發量。

 

 

 

 

 

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