1. 程式人生 > >dubbo配置清單-超詳細版

dubbo配置清單-超詳細版

oiv 檢測 特殊 發布者 單位 沒有 gist code 郵箱

服務發布者

在服務發布者的springboot主配置文件application.properties中添加dubbo配置

#dubbo服務名
spring.dubbo.application.name=xxx
#註冊中中心
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo的RPC協議
spring.dubbo.protocol.name=dubbo
#dubbo的RPC端口
spring.dubbo.protocol.port=20880
#遠程服務超時時間
spring.dubbo.provider.timeout=5000
#發布服務掃描的路徑
spring.dubbo.base
-package=xxx

服務調用者

在服務調用者的springboot主配置文件application.properties中添加dubbo配置

#dubbo應用名
spring.dubbo.application.name=xxx
#連接的註冊中心地址
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#遠程服務調用超時
spring.dubbo.consumer.timeout=5000
#啟動時檢查提供者是否存在,true報錯,false忽略
spring.dubbo.consumer.check=false
#引用服務掃描的路徑
spring.dubbo.base
-package=xxx

應用配置參數(必須配置)

spring:
  dubbo: 
    application:
      name: demo-provider     # 必填 服務治理 當前應用名稱,用於註冊中心計算應用間依賴關系,註意:消費者和提供者應用名不要一樣,此參數不是匹配條件,
你當前項目叫什麽名字就填什麽,和提供者消費者角色無關,比如:kylin應用調用了morgan應用的服務,則kylin項目配成kylin,
                   morgan項目配成morgan,可能kylin也提供其它服務給別人使用,但kylin項目永遠配成kylin,這樣註冊中心將顯示kylin依賴於
                   morgan 1.0.16以上版本
      owner: luohaipeng       # 可選 服務治理 應用負責人,用於服務治理,請填寫負責人公司郵箱前綴 2.0.5以上版本
      architecture:           # 可選 服務治理 用於服務分層對應的架構。如,intl、china。不同的架構使用不同的分層。 2.0.7以上版本
      compiler: javassist     # 可選 性能優化 Java字節碼編譯器,用於動態類的生成,可選:jdk或javassist 2.1.0以上版本
      environment:            # 可選 服務治理 應用環境,如:develop/test/product,不同環境使用不同的缺省值,以及作為只用於開發測試功能的限制條件 2.0.0以上版本
      logger: slf4j           # 可選 性能優化 日誌輸出方式,可選:slf4j,jcl,log4j,jdk 2.2.0以上版本
      organization:           # 可選 服務治理 組織名稱(BU或部門),用於註冊中心區分服務來源,此配置項建議不要使用autoconfig,直接寫死在配置中,
                   比如china,intl,itu,crm,asc,dw,aliexpress等
2.0.0以上版本
version: # 可選 服務治理 當前應用的版本
2.2.0以上版本

服務掃描的包

spring:
  dubbo: 
    base-package:             # 提供者service和消費者所在的java包,多個包用逗號分割

註冊中心支持的配置參數 (必須配置)

spring:
  dubbo:
    registry:               # 應用註冊中心配置項
      protocol: zookeeper   # 必填 服務發現 註冊中心支持的協議 包括 dubbo,multicast,zookeeper,redis 默認是zookeeper
      address: 127.0.0.1    # 必填 服務發現 註冊中心服務器地址,如果地址沒有端口缺省為9090,同一集群內的多個地址用逗號分隔,如:ip:port,ip:port,不同集群的註冊中心,請配置多個spring.dubbo.registry.標簽 1.0.16以上版本
      port: 2181            # 可選 服務發現 註冊中心缺省端口,當address沒有帶端口時使用此端口做為缺省值 2.0.0以上版本
      client: zkclient      # 可選 服務發現 註冊中心支持的客戶端, zookeeper 支持客戶端包括 curator和zkclient,如果不配置,默認使用zkclient 
      session: 60000        # 可選 性能調優 註冊中心會話超時時間(毫秒),用於檢測提供者非正常斷線後的臟數據,比如用心跳檢測的實現,此時間就是心跳間隔,不同註冊中心實現不一樣。 2.1.0以上版本
      register: true        # 可選 服務治理 是否向此註冊中心註冊服務,如果設為false,將只訂閱,不註冊 2.0.5以上版本
      check: false          # 可選 服務治理 服務是否動態註冊,如果設為false,註冊後將顯示後disable狀態,需人工啟用,並且服務提供者停止時,也不會自動取消冊,需人工禁用。 2.0.5以上版本
      dynamic: true         # 可選 服務治理 服務是否動態註冊,如果設為false,註冊後將顯示後disable狀態,需人工啟用,並且服務提供者停止時,也不會自動取消冊,需人工禁用。 2.0.5以上版本
      file: regcache.log    # 可選 服務治理 使用文件緩存註冊中心地址列表及服務提供者列表,應用重啟時將基於此文件恢復,註意:兩個註冊中心不能使用同一文件存儲 2.0.0以上版本
      username:             # 可選 服務治理 登錄註冊中心用戶名,如果註冊中心不需要驗證可不填 2.0.0以上版本
      password:             # 可選 服務治理 登錄註冊中心密碼,如果註冊中心不需要驗證可不填 2.0.0以上版本
      subscribe:            # 可選 服務治理 是否向此註冊中心訂閱服務,如果設為false,將只註冊,不訂閱 2.0.5以上版本
      timeout:              # 可選 性能調優 註冊中心請求超時時間(毫秒) 2.0.0以上版本
      wait: 0               # 可選 性能調優 停止時等待通知完成時間(毫秒) 2.0.0以上版本
      transport: netty      # 可選 性能調優 網絡傳輸方式,可選mina,netty 2.0.0以上版本
      id:                   # 可選 配置關聯 註冊中心引用BeanId,可以在<dubbo:service registry="">或<dubbo:reference registry="">中引用此ID 1.0.16以上版本

    registrys:               # 多個應用註冊中心時配置項(註意,如果要配置多個註冊中心,必須指定的不同的id和名字)
      - id: test2
        name: test2
        protocol: zookeeper   # 必填 服務發現 註冊中心支持的協議 包括 dubbo,multicast,zookeeper,redis 默認是zookeeper
        address: 127.0.0.1    # 必填 服務發現 註冊中心服務器地址,如果地址沒有端口缺省為9090,同一集群內的多個地址用逗號分隔,如:ip:port,ip:port,不同集群的註冊中心,請配置多個spring.dubbo.registry.標簽 1.0.16以上版本
        port: 2182            # 可選 服務發現 註冊中心缺省端口,當address沒有帶端口時使用此端口做為缺省值 2.0.0以上版本
        client: zkclient      # 可選 服務發現 註冊中心支持的客戶端, zookeeper 支持客戶端包括 curator和zkclient,如果不配置,默認使用zkclient

服務協議支持的類型

spring:
  dubbo:
    protocol:               # 默認的應用協議棧
      name: dubbo           # 必填 性能調優 協議名稱 2.0.5以上版本
      serialization: hessian2 #可選 性能調優 協議序列化方式,當協議支持多種序列化方式時使用,比如:dubbo協議的dubbo,hessian2,java,compactedjava,以及http協議的json等 2.0.5以上版本
      accepts: 0            # 可選 性能調優 服務提供方最大可接受連接數 2.0.5以上版本
      accesslog: false      # 可選 服務治理 設為true,將向logger中輸出訪問日誌,也可填寫訪問日誌文件路徑,直接把訪問日誌輸出到指定文件 2.0.5以上版本
      buffer: 8192          # 可選 性能調優 網絡讀寫緩沖區大小 2.0.5以上版本
      charset: UTF-8        # 可選 性能調優 序列化編碼 2.0.5以上版本
      client: netty         # 可選 性能調優 協議的客戶端實現類型,比如:dubbo協議的mina,netty等 2.0.5以上版本
      codec: dubbo          # 可選 性能調優 協議編碼方式 2.0.5以上版本
      contextpath:          # 可選 服務治理 2.0.6以上版本
      dispatcher: all       # 可選 性能調優 協議的消息派發方式,用於指定線程模型,比如:dubbo協議的all, direct, message, execution, connection等 2.1.0以上版本
      heartbeat: 0          # 可選 性能調優 心跳間隔,對於長連接,當物理層斷開時,比如拔網線,TCP的FIN消息來不及發送,對方收不到斷開事件,此時需要心跳來幫助檢查連接是否已斷開 2.0.10以上版本
      host:                 # 可選 服務發現 -服務主機名,多網卡選擇或指定VIP及域名時使用,為空則自動查找本機IP,-建議不要配置,讓Dubbo自動獲取本機IP 2.0.5以上版本 
      id: dubbo             # 可選 配置關聯 協議BeanId,可以在<dubbo:service protocol="">中引用此ID,如果ID不填,缺省和name屬性值一樣,重復則在name後加序號。 2.0.5以上版本
      iothreads:            # 可選 性能調優 io線程池大小(固定大小) 2.0.5以上版本 
      path:                 # 可選 服務發現 提供者上下文路徑,為服務path的前綴 2.0.5以上版本
      payload: 88388608     # 可選 性能調優 請求及響應數據包大小限制,單位:字節 2.0.5以上版本
      port:                 # 可選 服務發現 不輸入或者輸入0,將自動在53600~53688之間生產一個  服務端口  2.0.5以上版本 , 
      queues: 0             # 可選 性能調優 線程池隊列大小,當線程池滿時,排隊等待執行的隊列大小,建議不要設置,當線程程池時應立即失敗,重試其它服務提供機器,而不是排隊,除非有特殊需求。 2.0.5以上版本
      register: true        # 可選 服務治理 該協議的服務是否註冊到註冊中心 2.0.8以上版本
      server:               # 可選 性能調優 協議的服務器端實現類型,比如:dubbo協議的mina,netty等,http協議的jetty,servlet等 2.0.5以上版本
      telnet:               # 可選 服務治理 所支持的telnet命令,多個命令用逗號分隔 2.0.5以上版本
      threadpool: fixed     # 可選 性能調優 線程池類型,可選:fixed/cached 2.0.5以上版本
      threads: 100          # 可選 性能調優 服務線程池大小(固定大小) 2.0.5以上版本
      transporter: netty    # 可選 性能調優 協議的服務端和客戶端實現類型,比如:dubbo協議的mina,netty等,可以分拆為server和client配置 2.0.5以上版本

提供者默認的配置參數

spring:
  dubbo: 
    provider:                 # 公用的生產者配置
      retries: -1             # 可選 性能調優 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0 2.0.5以上版本
      accesslog: false        # 可選 服務治理 設為true,將向logger中輸出訪問日誌,也可填寫訪問日誌文件路徑,直接把訪問日誌輸出到指定文件 2.0.5以上版本
      delay: 0                # 可選 性能調優 延遲註冊服務時間(毫秒)- ,設為-1時,表示延遲到Spring容器初始化完成時暴露服務 2.0.5以上版本
      deprecated: false       # 可選 服務治理 服務是否過時,如果設為true,消費方引用時將打印服務過時警告error日誌 2.0.5以上版本
      document:               # 可選 服務治理 服務文檔URL 2.0.5以上版本
      dynamic: true           # 可選 服務治理 服務是否動態註冊,如果設為false,註冊後將顯示後disable狀態,需人工啟用,並且服務提供者停止時,也不會自動取消冊,需人工禁用。 2.0.5以上版本
      executes: 0             # 可選 性能調優 服務提供者每服務每方法最大可並行執行請求數 2.0.5以上版本
      group:                  # 可選 服務發現 服務分組,當一個接口有多個實現,可以用分組區分 2.0.5以上版本
      id: dubbo               # 可選 配置關聯 協議BeanId,可以在<dubbo:service proivder="">中引用此ID 1.0.16以上版本
      layer:                  # 可選 服務治理 服務提供者所在的分層。如:biz、dao、intl:web、china:acton。 2.0.7以上版本
      listener:               # 可選 性能調優 服務提供方導出服務監聽器名稱,多個名稱用逗號分隔 2.0.5以上版本
      mock: false             # 可選 服務治理 設為true,表示使用缺省Mock類名,即:接口名 + Mock後綴。 2.0.5以上版本
      owner:                  # 可選 服務治理 服務負責人,用於服務治理,請填寫負責人公司郵箱前綴 2.0.5以上版本
      path:                   # 可選 服務發現 提供者上下文路徑,為服務path的前綴 2.0.0以上版本 
      protocol: dubbo         # 可選 性能調優 協議名稱 1.0.16以上版本
      proxy: javassist        # 可選 性能調優 生成動態代理方式,可選:jdk/javassist 2.0.5以上版本
      registry:               # 可選 配置關聯 向指定註冊中心註冊,在多個註冊中心時使用,值為spring.dubbo.registry.的id屬性,多個註冊中心ID用逗號分隔,如果不想將該服務註冊到任何registry,可將值設為N/A 2.0.5以上版本
      stub: false             # 可選 服務治理 設為true,表示使用缺省代理類名,即:接口名 + Local後綴。 2.0.5以上版本
      token: false            # 可選 服務治理 令牌驗證,為空表示不開啟,如果為true,表示隨機生成動態令牌 2.0.5以上版本
      version: 0.0.0          # 可選 服務發現 服務版本,建議使用兩位數字版本,如:1.0,通常在接口不兼容時版本號才需要升級 2.0.5以上版本
      weight: 0               # 可選 性能調優 服務權重 2.0.5以上版本
      accepts: 0              # 可選 性能調優 服務提供者最大可接受連接數 2.0.5以上版本
      actives: 0              # 可選 性能調優 每服務消費者每服務每方法最大並發調用數 2.0.5以上版本
      async: false            # 可選 性能調優 是否缺省異步執行,不可靠異步,只是忽略返回值,不阻塞執行線程 2.0.5以上版本
      buffer: 8192            # 可選 性能調優 網絡讀寫緩沖區大小 2.0.5以上版本
      charset: UTF-8          # 可選 性能調優 序列化編碼 2.0.5以上版本
      client: netty           # 可選 性能調優 協議的客戶端實現類型,比如:dubbo協議的mina,netty等 2.0.0以上版本
      cluster: failover       # 可選 性能調優 集群方式,可選:failover/failfast/failsafe/failback/forking 2.0.5以上版本
      codec: dubbo            # 可選 性能調優 協議編碼方式 2.0.0以上版本
      connections: 0          # 可選 性能調優 對每個提供者的最大連接數,rmi、http、hessian等短連接協議表示限制連接數,dubbo等長連接協表示建立的長連接個數 2.0.5以上版本
      default: false          # 可選 配置關聯 是否為缺省協議,用於多協議 1.0.16以上版本
      host:                   # 可選 服務發現 服務主機名,多網卡選擇或指定VIP及域名時使用,為空則自動查找本機IP,建議不要配置,讓Dubbo自動獲取本機IP 1.0.16以上版本
      iothreads:              # 可選 性能調優 IO線程池,接收網絡讀寫中斷,以及序列化和反序列化,不處理業務,業務線程池參見threads配置,此線程池和CPU相關,不建議配置。 2.0.5以上版本
      loadbalance: random     # 可選 性能調優 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍調用 2.0.5以上版本
      payload: 88388608       # 可選 性能調優 請求及響應數據包大小限制,單位:字節 2.0.0以上版本
      queues: 0               # 可選 性能調優 線程池隊列大小,當線程池滿時,排隊等待執行的隊列大小,建議不要設置,當線程程池時應立即失敗,重試其它服務提供機器,而不是排隊,除非有特殊需求。 2.0.5以上版本
      serialization: hessian2 # 可選 性能調優 協議序列化方式,當協議支持多種序列化方式時使用,比如:dubbo協議的dubbo,hessian2,java,compactedjava,以及http協議的json,xml等 2.0.5以上版本
      server: netty           # 可選 性能調優 協議的服務器端實現類型,比如:dubbo協議的mina,netty等,http協議的jetty,servlet等 2.0.0以上版本
      telnet:                 # 可選 服務治理 所支持的telnet命令,多個命令用逗號分隔 2.0.5以上版本
      threadpool: fixed       # 可選 性能調優 線程池類型,可選:fixed/cached 2.0.5以上版本
      threads: 100            # 可選 性能調優 線程池類型,可選:fixed/cached 2.0.5以上版本
      timeout: 1000           # 可選 性能調優 遠程服務調用超時時間(毫秒) 2.0.5以上版本
      filter:                 # 可選 性能調優 服務提供方遠程調用過程攔截器名稱,多個名稱用逗號分隔 2.0.5以上版本

調用者默認的配置

spring:
  dubbo: 
    consumer:                   # 公用的消費者配置
      lazy: true                #
      timeout: 1000             # 可選 性能調優 遠程服務調用超時時間(毫秒) 1.0.16以上版本
      check: true               # 可選 服務治理 啟動時檢查提供者是否存在,true報錯,false忽略 1.0.16以上版本
      retries: 2                # 可選 性能調優 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0 1.0.16以上版本
      filter:                   # 可選 性能調優 服務消費方遠程調用過程攔截器名稱,多個名稱用逗號分隔 2.0.5以上版本
      actives: 0                # 可選 性能調優 每服務消費者每服務每方法最大並發調用數 2.0.5以上版本
      async: false              # 可選 性能調優 是否缺省異步執行,不可靠異步,只是忽略返回值,不阻塞執行線程 2.0.0以上版本
      cache:                    # 可選 服務治理 以調用參數為key,緩存返回結果,可選:lru, threadlocal, jcache等 Dubbo2.1.0及其以上版本支持
      cluster: failover         # 可選 性能調優 集群方式,可選:failover/failfast/failsafe/failback/forking 2.0.5以上版本
      connections: 100          # 可選 性能調優 每個服務對每個提供者的最大連接數,rmi、http、hessian等短連接協議支持此配置,dubbo協議長連接不支持此配置 1.0.16以上版本
      generic: false            # 可選 服務治理 是否缺省泛化接口,如果為泛化接口,將返回GenericService 2.0.0以上版本
      init: false               # 可選 性能調優 是否在afterPropertiesSet()時饑餓初始化引用,否則等到有人註入或引用該實例時再初始化。 2.0.10以上版本
      layer:                    # 可選 服務治理 服務調用者所在的分層。如:biz、dao、intl:web、china:acton。 2.0.7以上版本
      listener:                 # 可選 性能調優 服務消費方引用服務監聽器名稱,多個名稱用逗號分隔 2.0.5以上版本
      loadbalance: random       # 可選 性能調優 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍調用 1.0.16以上版本
      owner:                    # 可選 服務治理 調用服務負責人,用於服務治理,請填寫負責人公司郵箱前綴 2.0.5以上版本
      proxy: javassist          # 可選 性能調優 生成動態代理方式,可選:jdk/javassist 2.0.5以上版本
      registry:                 # 可選 配置關聯 向指定註冊中心註冊,在多個註冊中心時使用,值為spring.dubbo.registry.的id屬性,多個註冊中心ID用逗號分隔,如果不想將該服務註冊到任何registry,可將值設為N/A 2.0.5以上版本
      retries: 2                # 可選 性能調優 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0 1.0.16以上版本
      validation:               # 可選 服務治理 是否啟用JSR303標準註解驗證,如果啟用,將對方法參數上的註解進行校驗 Dubbo2.1.0及其以上版本支持

dubbo配置清單-超詳細版