賽博雲cloud版簡析

1.    cloud模塊劃分

    eureka:8751         註冊中心
    auth:8753            
    config:8757            配置中心
    gateway:8752        網關路由
    system:8754
    usercenter:8761
    workflow:8762


2.eureka 註冊中心    
    server端
        eureka:
            instance:
                hostname: localhost   # eureka 實例名稱
            client:
                register-with-eureka: false # 不向註冊中心註冊自己
                fetch-registry: false       # 是否檢索服務
                service-url:
                    defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/  # 註冊中心訪問地址

    client端
        eureka:
            instance:
                instance-id: user-api-8081
                prefer-ip-address: true # 訪問路徑可以顯示 IP
            client:
                service-url:
                    defaultZone: http://localhost:9000/eureka/  # 註冊中心訪問地址
    
    
    
    在啓動類上添加 @EnableEurekaClient 註解。

    
3.config 配置中心
    server端(config)
        1>config配置中心
            1.1配置文件
                spring:
                  profiles:
                     active: jdbc #讀取的配置文件名,從數據庫中讀取,必須爲jdbc
                  cloud:
                    config:
                      label: master   #讀取的配置的分支,與數據庫中數據對應
                      server:
                        jdbc: true

                spring.cloud.config.server.jdbc.sql: SELECT prop_key, prop_value from config_properties where APPLICATION=? and PROFILE=? and LABEL =? #查詢數據庫的sql語句,該語句的字段必須與數據庫的表字段一致。
        
        2>啓動文件xxApplication加上@EnableConfigServer註解,開啓ConfigServer的功能
        3>初始化數據庫 字段必須對應
            id key value application profile label
            存儲的是 配置 的鍵值對
            引入配置中心 服務啓動時會到數據庫讀取配置 加載到yml文件 
            
        ps:
            1.配置的訪問路徑
            http://192.168.199.82:8757/configProperties/view/list
            2.數據庫表
            config_properties
            
    client端
        1>配置文件
        bootstrap.yml 優先級最高
            spring:
              cloud:
                config:
                  uri: http://192.168.199.82:8757 #配置的config-server的地址
                  fail-fast: true  #讀取配置失敗後,執行快速失敗
                  name: contract
                  profile: dev
                  discovery:
                    enabled: true
                    service-id: config
                  
              profiles:
                active: data #讀取本地配置文件application-data.yml或application-data.properties

                
4.權限驗證
    4.1 gateWay 
            AccessFilter -->全局過濾器,用於需要經過網關的請求是否需要登錄
                4.1.1 驗證權限白名單
                    #地址白名單,不需要登錄就能訪問的地址  
                    auth:
                      urlWhiteList: 
                -->轉至auth進行驗證
                
                -->驗證通過 發至路由服務
    4.2 auth    
            權限驗證
                4.2.1 redis 判斷該路徑是否存在
                                1>存在則redis取路徑的角色信息 和當前用戶擁有的角色進行對比
                                2>不存在則 查詢該路徑所分配的角色放置redis 和當前用戶擁有的角色進行對比
                4.2.2 角色資源add -->刷新redis緩存url_role_
                
    4.3 路由服務
            路由服務器的攔截過濾
        

5.gateway 網關路由
    5.1 網關配置
        # 網關路由配置
        gateway:
          discovery:
            locator:
              enabled: false
              lowerCaseServiceId: true
          defaultFilters:
            - PreserveHostHeader
          routes: #引入配置中心
            # 測試模塊1
            #- id: luokf-cloud-module-test1
            #  uri: lb://luokf-cloud-module-test1
            #  predicates:
            #    - Path=/demo/**

    5.2 AccessFilter 的filter 實現GatewayFilterChain 進行路由轉發
    
                
6.Feign使用

微服務和微服務之間如何互相調用

            
 

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