<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Nacos基本配置

      Nacos官方文檔

      為什么需要服務注冊中心?

      微服務時代的服務管理
      在微服務時代,我們所有的服務都被勁量拆分成最小的粒度,原先所有的服務都在混在1個server里,現在就被按照功能或者對象拆分成N個服務模塊,這樣做的好處是深度解耦,1個模塊只負責自己的事情就好,能夠實現快速的迭代更新。壞處就是服務的管理和控制變得異常的復雜和繁瑣,人工維護難度變大。還有排查問題和性能變差(服務調用時的網絡開銷)文章來源地址:https://www.yii666.com/blog/390499.html

      什么是注冊中心?

      注冊中心的作用一句話概括就是存放和調度服務,實現服務和注冊中心,服務和服務之間的相互通信。注冊中心可以說是微服務架構中的”通訊錄“,它記錄了服務和服務地址的映射關系。在分布式架構中,服務會注冊到這里,當服務需要調用其它服務時,就到這里找到服務的地址,進行調用。

      如果沒有注冊中心?會怎樣

       在不用服務注冊之前,怎么去維護這種復制的關系網絡呢?答案就是:寫死!。
      
      1. 將其他模塊的ip和端口寫死在自己的配置文件里,甚至寫死在代碼里,每次要去新增或者移除1個服務的實例的時候,就得去通知其他所有相關聯的服務去修改。
      2. 隨之而來的就是各個項目的配置文件的反復更新、每隔一段時間大規模的ip修改和機器裁撤,非常的痛苦。

      而有了注冊中心之后,每個服務在調用別人的時候只需要服務的名稱就好,調用時會通過注冊中心根據服務編碼進行具體服務地址進行調用。

      服務注冊中心的作用就是【服務的注冊】和【服務的發現】

      • 服務注冊,就是將提供某個服務的模塊信息(通常是這個服務的ip和端口)注冊到1個公共的組件上去(比如: zookeeper\consul)。
      • 服務發現,就是新注冊的這個服務模塊能夠及時的被其他調用者發現。不管是服務新增和服務刪減都能實現自動發現。

      服務發現是怎么回事?

      1. 微服務啟動的時候將service_name,IP,port,status發送到Nacos服務注冊中心,Nacos保存這些數據。
      2. 消費者本地緩存服務信息,并且定時同步,所以就算Nacos宕機了也不怕不能調用
      3. 服務提供者每5秒發送心跳給服務發現組件,當一段時間沒收到心態,服務發現組件標記服務狀態為宕機。15秒無心跳則認為實例不健康,30秒健康檢查失敗則剔除實例。
      4. 這樣的好處:
        1. 不用每次都請求服務發現組件,提升了性能
        2. 服務發現組件崩潰,不影響正常調用

      整合Nacos 服務中心

       nacos 下載地址 :https://github.com/alibaba/nacos/releases

       nacos 搭建參考文檔地址:https://nacos.io/zh-cn/docs/quick-start.html

       下載那一個包?如何解決兼容性問題?技巧如下:

         打開idea進入pom.xml 文件,打開spring-cloud-alibaba-dependencies 找到Nacos-client的版本

      加依賴
        <!--nacos 注冊中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
      寫配置
      spring:
        application:
          name: shopping-account-service
        cloud:
          nacos:
            discovery:
              server-addr: localhost:8848
      寫注解(開發)
      //早期版本需要在啟動類上加本注解,現在已經不是必須的了
      @EnableDiscoveryClient
      根據service-name獲取在nacos中注冊的實例信息:

       DiscoveryClient 可以操作Nacos元數據

       DiscoveryClient由SpringCloud提供,不只是可以查詢Nacos。

       元數據有什么用?

        列如:有服務器A版本為V1.0,有服務器B版本為V1.0,有服務器C版本為V2.0,有服務器D版本為V2.0,可以做到V1.0的服務只調用V1.0,V2.0只調用V2.0。

      服務發現的領域模型

      1.  Namespace 命名空間(實現隔離、默認是public) 對應不同的環境(dev、prot、test)
      2.  group 分組對應不同的節點(不同的微服務分在在同一個分組)
      3.  service 服務 對應不同的集群服務
      4.  cluster:(集群-對應服務器)對指定微服務的一個虛擬劃分,默認DEFAULT
      5.  instance:微服務實列

      為什么要實現配置管理?

       不同的環境不同的配置

        如:dev和prod環境的數據庫地址和密碼肯定不一樣的

       配置屬性動態刷新

        如:雙十一需要修改數據庫連接池,我需要在不重啟服務的情況下修改

      配置動態刷新

       動態刷新的幾種方式

        方式一:yaml中開啟 refresh-enabled=true 時(默認開啟),通過applicationContext.getEnvironment.getProperty 直接獲取

        方式二:standalone使用,@NacosValue獲取最新值nacos配置信息需要寫在配置類上

        方式三:結合springcloud ,@Value獲取最新值一定要加@RefreshScope注解,配置文件中配置refresh: true

       Spring boot 啟動或者更改配置后控制臺打印配置信息

      # 日志級別,可以指定到具體類
      logging:
        level:
          # 3、在任意格式的配置文件中將該包路徑的日志設置為 ERROR 或者 WARN 級別即可
          # Nacos 注冊中心客戶端心跳日志禁用 get changedGroupKeys:[] 刷屏
          com:
            alibaba:
              cloud:
                nacos: DEBUG

      配置共享

        其他配置方式中可以查看

      配置優先級

        其他配置方式中可以查看

      數據持久化

        服務發現組件(所有配置文件存放的位置)

        數據持久化默認位置:~/nacos/naming

        配置服務器

        配置數據:$NACOS_HOME/data/derby-data

          在nacos控制臺修改的配置都在此數據庫中做持久化

          derby-data:不適合生產環境配置,內嵌(只能單機)數據庫不能做高可用。

          需要停止nacos才能查看。

        快照:

          保存位置:~/nacos/config

          里面主要是在nacos中設置的內容,快照可以提升性能以及做容災

      加依賴

      <!--nacos 注冊中心-->
      <dependency>
          <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      </dependency>

      寫配置

      spring:
        cloud:
          nacos:
            discovery:
              #Nacos的地址,如果是集群的話使用,號隔開  如:localhost1,localhost2
              server-addr: 127.0.0.1:8848
              file-extension: yaml
        application:
          name: shopping-trade-service
        profiles:
          #以什么結尾的文件 shopping-trade-service-dev.yml
          active: dev
      
      #讀取Nacos上的shopping-trade-service-dev.yml配置文件

       

      寫注解(開發)

      其他配置方式

      bootstrap.xml文件

      # bootstrap 會在加載application.yml之前先連接nacos,獲取遠程的配置,然后再進行初始化
      # 因此bootstrap要配置的重點就是
      # 1. nacos的地址: 獲取配置的入口
      # 2. application的name: 根據SpringCloud的約定,是根據name-{profile}.yaml去讀取遠程配置文件的
      spring:
        application:
          name: snapex-account-service
        cloud:
          nacos:
            config:
              #NACOS_HOST 是環境變量
              #默認配置會默認自動刷新
              #當配置了環境變量時使用環境變量,如果沒有配置時使用:后面的地址
              server-addr: ${NACOS_HOST:192.168.199.57:8848}
              #命名空間,和Nacos控制臺的命名空間一致
              #此處的命名空間指的是Nacos控制臺創建命名空間時命名空間ID
              namespace: ${NACOS_NAMESPACE:dev}
              file-extension: yaml
              group: DEFAULT_GROUP
              extension-configs:
                #配置中心配置的公共配置文件,yml后綴不能少,只支持yaml/properties
                #越靠后,優先級越高,優先級 database.yaml > commons.yaml
                - data-id: commons.yaml
                  #commons.yaml所在的group
                  group: DEFAULT_GROUP
                  #是否動態的刷新
                  refresh: true
                - data-id: database.yaml
                  group: DEFAULT_GROUP
                  #是否動態的刷新
                  refresh: true
            discovery:
              server-addr: ${NACOS_HOST:192.168.199.57:8848}
              namespace: ${NACOS_NAMESPACE:dev2-dzq}
              group: DEFAULT_GROUP

      application.xml文件

      spring:
        profiles:
          #以什么結尾的文件 shopping-trade-service-dev.yml
          active: ${SPRING_PROFILES_ACTIVE:dev}

      部分理論參考: 微服務:注冊中心的作用 (yii666.com)

      posted @ 2023-07-13 16:48  Faith_zhang  閱讀(961)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲色成人一区二区三区| 国产v综合v亚洲欧美大天堂| 国产成人8X人网站视频| 国产漂亮白嫩美女在线观看| 无码AV无码天堂资源网影音先锋 | 丰满少妇熟乱xxxxx视频| 亚洲人成网站77777在线观看| 国产成人无码免费视频在线| 国产精品一区二区性色av| 国产欧美va欧美va在线| 狠狠色婷婷久久综合频道日韩 | 国产亚洲欧美日韩俺去了| 国产永久免费高清在线| 亚洲国产天堂久久综合226114| 日本熟妇人妻一区二区三区| 日韩人妻无码一区二区三区久久| 8050午夜二级无码中文字幕| 国产在线欧美日韩精品一区| 长兴县| 国产360激情盗摄全集| 亚洲第一极品精品无码久久| 免费无码又爽又刺激网站直播| 国产一区二区三区的视频| 久久国产精品福利一区二区三区| 天天躁日日躁狠狠躁性色avq| 国产成人亚洲综合图区| 国产中文字幕在线精品| 日韩精品在线观看一二区| 97人妻熟女成人免费视频色戒| 日韩精品 在线 国产 丝袜| 99热精品毛片全部国产无缓冲 | 久久一级精品久熟女人妻| 亚洲成精品动漫久久精久| 九九热在线视频精品免费| 中文字幕国产精品专区| 国产免费一区二区不卡| 国内自拍偷拍福利视频看看| 国产精品久久久久久av| 亚洲欧洲日产国无高清码图片 | 2021亚洲国产精品无码| 国产精品一区二区插插插|