blob: 633e705a886eff0ab14d131a9c933d7eb04516ae [file] [log] [blame]
<!doctype html><html lang=zh-cn class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=canonical href=https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/dubbo/><script>var _hmt=_hmt||[];(function(){var e,t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?3b78f49ba47181e4d998a66b689446e9",e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(t,e)})()</script><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta http-equiv=Content-Security-Policy content="frame-src *"><meta name=generator content="Hugo 0.122.0"><link rel="shortcut icon" type=image/png href=/imgs/favicon.png><link rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=manifest href=/manifest.webmanifest><title>dubbo 协议 | Apache Dubbo</title><meta property="og:title" content="dubbo 协议">
<meta property="og:description" content="dubbo:// 协议参考手册"><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/dubbo/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2023-03-01T15:24:06+08:00"><meta itemprop=name content="dubbo 协议"><meta itemprop=description content="dubbo:// 协议参考手册"><meta itemprop=dateModified content="2023-03-01T15:24:06+08:00"><meta itemprop=wordCount content="220"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="dubbo 协议"><meta name=twitter:description content="dubbo:// 协议参考手册"><script async src="https://www.googletagmanager.com/gtag/js?id=G-NM6FFMT51J"></script><script>var doNotTrack=!1;if(!doNotTrack){window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-NM6FFMT51J",{anonymize_ip:!1})}</script><link rel=preload href=/scss/main.min.f77e221bcdbe0cadb996060fe82063c747b60c229a1f8bbf0ee529adbadd84fa.css as=style><link href=/scss/main.min.f77e221bcdbe0cadb996060fe82063c747b60c229a1f8bbf0ee529adbadd84fa.css rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin=anonymous></script><meta name=theme-color content="#326ce5"><link rel=stylesheet href=/css/feature-states.css><meta name=description content="dubbo:// 协议参考手册"><meta property="og:description" content="dubbo:// 协议参考手册"><meta name=twitter:description content="dubbo:// 协议参考手册"><meta property="og:url" content="https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/dubbo/"><meta property="og:title" content="dubbo 协议"><meta name=twitter:title content="dubbo 协议"><meta name=twitter:image:alt content="Apache Dubbo"><meta property="og:type" content="article"><meta name=viewport content="width=device-width"><script async defer src=/js/github-buttons.js></script><link href=/css/community.css rel=stylesheet><link href=/css/contactus.css rel=stylesheet><link href=/css/language.css rel=stylesheet><script src=/js/script.js></script></head><body class="td-page td-documentation"><header><nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar" data-auto-burger=primary><a class=navbar-brand href=/zh-cn/><span class=navbar-logo></span><span class="text-uppercase font-weight-bold">Apache Dubbo</span></a><div class="td-navbar-nav-scroll ml-md-auto" id=main_navbar><ul class="navbar-nav mt-2 mt-lg-0"><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/zh-cn/overview/home/><span>文档</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/zh-cn/blog/><span>博客</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/zh-cn/download/><span>版本发布</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/zh-cn/contact/><span>联系社区</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=https://start.dubbo.apache.org/bootstrap.html target=_blank><span>Initializer</span><i class='fas fa-external-link-alt'></i></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/zh-cn/github/><span>Github</span><i class='fa-brands fa-github'></i></a></li><li class="nav-item dropdown d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdownMenuLink role=button data-toggle=dropdown aria-haspopup=true aria-expanded=false>中文</a><div class="dropdown-menu dropdown-menu-right" aria-labelledby=navbarDropdownMenuLink><a class=dropdown-item href=/en/>English</a></div></li><li class="nav-item dropdown d-lg-block"><div class="nav-item d-none d-lg-block"></div></li></ul></div></nav><section class="header-hero text-white pb-0 light-text"></section></header><div class="container-fluid td-outer"><div class=td-main><div class="row flex-md-nowrap"><div class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"><script>$(function(){$("#td-section-nav a").removeClass("active"),$("#td-section-nav #m-zh-cndocsreferencesprotocolsdubbo").addClass("active"),$("#td-section-nav #m-zh-cndocsreferencesprotocolsdubbo-li span").addClass("td-sidebar-nav-active-item"),$("#td-section-nav #m-zh-cndocsreferencesprotocolsdubbo").parents("li").addClass("active-path"),$("#td-section-nav li.active-path").addClass("show"),$("#td-section-nav li.active-path").children("input").prop("checked",!0),$("#td-section-nav #m-zh-cndocsreferencesprotocolsdubbo-li").siblings("li").addClass("show"),$("#td-section-nav #m-zh-cndocsreferencesprotocolsdubbo-li").children("ul").children("li").addClass("show"),$("#td-sidebar-menu").toggleClass("d-none")})</script><div id=td-sidebar-menu class="td-sidebar__inner d-none"><div id=content-mobile><form class="td-sidebar__search d-flex align-items-center"><button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type=button data-toggle=collapse data-target=#td-section-nav aria-controls=td-docs-nav aria-expanded=false aria-label="Toggle section navigation"></button></form></div><div id=content-desktop></div><nav class="collapse td-sidebar-nav foldable-nav" id=td-section-nav><ul class="td-sidebar-nav__section pr-md-3 ul-0"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocs-li><ul class=ul-1><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsintroduction-li><input type=checkbox id=m-zh-cndocsintroduction-check>
<label for=m-zh-cndocsintroduction-check><a href=/zh-cn/docs/introduction/ title="Dubbo3 简介" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsintroduction><span>简介</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsnew-in-dubbo3-li><input type=checkbox id=m-zh-cndocsnew-in-dubbo3-check>
<label for=m-zh-cndocsnew-in-dubbo3-check><a href=/zh-cn/docs/new-in-dubbo3/ title="What's New in Dubbo3" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsnew-in-dubbo3><span>新版本特性速览</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsquick-start-li><input type=checkbox id=m-zh-cndocsquick-start-check>
<label for=m-zh-cndocsquick-start-check><a href=/zh-cn/docs/quick-start/ title="Spring Boot 快速开发 Dubbo 服务" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsquick-start><span>快速开始</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsconcepts-li><input type=checkbox id=m-zh-cndocsconcepts-check>
<label for=m-zh-cndocsconcepts-check><a href=/zh-cn/docs/concepts/ title=概念与架构 class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsconcepts><span>概念&架构</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsconceptsservice-discovery-li><input type=checkbox id=m-zh-cndocsconceptsservice-discovery-check>
<label for=m-zh-cndocsconceptsservice-discovery-check><a href=/zh-cn/docs/concepts/service-discovery/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsconceptsservice-discovery><span>服务发现</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsconceptsrpc-protocol-li><input type=checkbox id=m-zh-cndocsconceptsrpc-protocol-check>
<label for=m-zh-cndocsconceptsrpc-protocol-check><a href=/zh-cn/docs/concepts/rpc-protocol/ title="RPC 通信协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsconceptsrpc-protocol><span>协议</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsconceptstraffic-management-li><input type=checkbox id=m-zh-cndocsconceptstraffic-management-check>
<label for=m-zh-cndocsconceptstraffic-management-check><a href=/zh-cn/docs/concepts/traffic-management/ title=服务流量管理 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsconceptstraffic-management><span>流量管理</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsconceptsconfiguration-li><input type=checkbox id=m-zh-cndocsconceptsconfiguration-check>
<label for=m-zh-cndocsconceptsconfiguration-check><a href=/zh-cn/docs/concepts/configuration/ title=配置管理 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsconceptsconfiguration><span>配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsconceptsregistry-configcenter-metadata-li><input type=checkbox id=m-zh-cndocsconceptsregistry-configcenter-metadata-check>
<label for=m-zh-cndocsconceptsregistry-configcenter-metadata-check><a href=/zh-cn/docs/concepts/registry-configcenter-metadata/ title="部署架构(注册中心 配置中心 元数据中心)" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsconceptsregistry-configcenter-metadata><span>部署架构</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsconceptsextensibility-li><input type=checkbox id=m-zh-cndocsconceptsextensibility-check>
<label for=m-zh-cndocsconceptsextensibility-check><a href=/zh-cn/docs/concepts/extensibility/ title="如何扩展 Dubbo" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsconceptsextensibility><span>扩展性</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsexamples-li><input type=checkbox id=m-zh-cndocsexamples-check>
<label for=m-zh-cndocsexamples-check><a href=/zh-cn/docs/examples/ title=基本功能介绍与示例 class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsexamples><span>介绍与示例</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsexamplesrouting-li><input type=checkbox id=m-zh-cndocsexamplesrouting-check>
<label for=m-zh-cndocsexamplesrouting-check><a href=/zh-cn/docs/examples/routing/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsexamplesrouting><span>路由规则</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesroutingdynamic-rule-deployment-li><input type=checkbox id=m-zh-cndocsexamplesroutingdynamic-rule-deployment-check>
<label for=m-zh-cndocsexamplesroutingdynamic-rule-deployment-check><a href=/zh-cn/docs/examples/routing/dynamic-rule-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesroutingdynamic-rule-deployment><span>动态路由</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesroutingweight-rule-deployment-li><input type=checkbox id=m-zh-cndocsexamplesroutingweight-rule-deployment-check>
<label for=m-zh-cndocsexamplesroutingweight-rule-deployment-check><a href=/zh-cn/docs/examples/routing/weight-rule-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesroutingweight-rule-deployment><span>权重路由</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesroutingdemo-rule-deployment-li><input type=checkbox id=m-zh-cndocsexamplesroutingdemo-rule-deployment-check>
<label for=m-zh-cndocsexamplesroutingdemo-rule-deployment-check><a href=/zh-cn/docs/examples/routing/demo-rule-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesroutingdemo-rule-deployment><span>使用案例</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesroutingblue-green-deployment-li><input type=checkbox id=m-zh-cndocsexamplesroutingblue-green-deployment-check>
<label for=m-zh-cndocsexamplesroutingblue-green-deployment-check><a href=/zh-cn/docs/examples/routing/blue-green-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesroutingblue-green-deployment><span>蓝绿部署</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesroutingab-testing-deployment-li><input type=checkbox id=m-zh-cndocsexamplesroutingab-testing-deployment-check>
<label for=m-zh-cndocsexamplesroutingab-testing-deployment-check><a href=/zh-cn/docs/examples/routing/ab-testing-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesroutingab-testing-deployment><span>Ab测试</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesroutingcanary-deployment-li><input type=checkbox id=m-zh-cndocsexamplesroutingcanary-deployment-check>
<label for=m-zh-cndocsexamplesroutingcanary-deployment-check><a href=/zh-cn/docs/examples/routing/canary-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesroutingcanary-deployment><span>金丝雀部署</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesservice-discovery-li><input type=checkbox id=m-zh-cndocsexamplesservice-discovery-check>
<label for=m-zh-cndocsexamplesservice-discovery-check><a href=/zh-cn/docs/examples/service-discovery/ title=应用级服务发现 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesservice-discovery><span>服务发现</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsexamplesconfiguration-override-li><input type=checkbox id=m-zh-cndocsexamplesconfiguration-override-check>
<label for=m-zh-cndocsexamplesconfiguration-override-check><a href=/zh-cn/docs/examples/configuration-override/ title=动态修改运行态配置项 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsexamplesconfiguration-override><span>动态配置</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsadvanced-li><input type=checkbox id=m-zh-cndocsadvanced-check>
<label for=m-zh-cndocsadvanced-check><a href=/zh-cn/docs/advanced/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsadvanced><span>高级用法</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedpreflight-check-li><input type=checkbox id=m-zh-cndocsadvancedpreflight-check-check>
<label for=m-zh-cndocsadvancedpreflight-check-check><a href=/zh-cn/docs/advanced/preflight-check/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedpreflight-check><span>启动时检查</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedserialization-security-li><input type=checkbox id=m-zh-cndocsadvancedserialization-security-check>
<label for=m-zh-cndocsadvancedserialization-security-check><a href=/zh-cn/docs/advanced/serialization-security/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedserialization-security><span>序列化协议安全</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedfault-tolerent-strategy-li><input type=checkbox id=m-zh-cndocsadvancedfault-tolerent-strategy-check>
<label for=m-zh-cndocsadvancedfault-tolerent-strategy-check><a href=/zh-cn/docs/advanced/fault-tolerent-strategy/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedfault-tolerent-strategy><span>集群容错</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedloadbalance-li><input type=checkbox id=m-zh-cndocsadvancedloadbalance-check>
<label for=m-zh-cndocsadvancedloadbalance-check><a href=/zh-cn/docs/advanced/loadbalance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedloadbalance><span>负载均衡</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedthread-model-li><input type=checkbox id=m-zh-cndocsadvancedthread-model-check>
<label for=m-zh-cndocsadvancedthread-model-check><a href=/zh-cn/docs/advanced/thread-model/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedthread-model><span>线程模型</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedexplicit-target-li><input type=checkbox id=m-zh-cndocsadvancedexplicit-target-check>
<label for=m-zh-cndocsadvancedexplicit-target-check><a href=/zh-cn/docs/advanced/explicit-target/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedexplicit-target><span>直连提供者</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedsubscribe-only-li><input type=checkbox id=m-zh-cndocsadvancedsubscribe-only-check>
<label for=m-zh-cndocsadvancedsubscribe-only-check><a href=/zh-cn/docs/advanced/subscribe-only/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedsubscribe-only><span>只订阅</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedmulti-protocols-li><input type=checkbox id=m-zh-cndocsadvancedmulti-protocols-check>
<label for=m-zh-cndocsadvancedmulti-protocols-check><a href=/zh-cn/docs/advanced/multi-protocols/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedmulti-protocols><span>多协议</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedmulti-registry-li><input type=checkbox id=m-zh-cndocsadvancedmulti-registry-check>
<label for=m-zh-cndocsadvancedmulti-registry-check><a href=/zh-cn/docs/advanced/multi-registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedmulti-registry><span>多注册中心</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedservice-group-li><input type=checkbox id=m-zh-cndocsadvancedservice-group-check>
<label for=m-zh-cndocsadvancedservice-group-check><a href=/zh-cn/docs/advanced/service-group/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedservice-group><span>服务分组</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedstatic-service-li><input type=checkbox id=m-zh-cndocsadvancedstatic-service-check>
<label for=m-zh-cndocsadvancedstatic-service-check><a href=/zh-cn/docs/advanced/static-service/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedstatic-service><span>静态服务</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedmulti-versions-li><input type=checkbox id=m-zh-cndocsadvancedmulti-versions-check>
<label for=m-zh-cndocsadvancedmulti-versions-check><a href=/zh-cn/docs/advanced/multi-versions/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedmulti-versions><span>多版本</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedgroup-merger-li><input type=checkbox id=m-zh-cndocsadvancedgroup-merger-check>
<label for=m-zh-cndocsadvancedgroup-merger-check><a href=/zh-cn/docs/advanced/group-merger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedgroup-merger><span>分组聚合</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedparameter-validation-li><input type=checkbox id=m-zh-cndocsadvancedparameter-validation-check>
<label for=m-zh-cndocsadvancedparameter-validation-check><a href=/zh-cn/docs/advanced/parameter-validation/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedparameter-validation><span>参数验证</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedresult-cache-li><input type=checkbox id=m-zh-cndocsadvancedresult-cache-check>
<label for=m-zh-cndocsadvancedresult-cache-check><a href=/zh-cn/docs/advanced/result-cache/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedresult-cache><span>结果缓存</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedgeneric-reference-li><input type=checkbox id=m-zh-cndocsadvancedgeneric-reference-check>
<label for=m-zh-cndocsadvancedgeneric-reference-check><a href=/zh-cn/docs/advanced/generic-reference/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedgeneric-reference><span>使用泛化调用</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedprotobuf-idl-li><input type=checkbox id=m-zh-cndocsadvancedprotobuf-idl-check>
<label for=m-zh-cndocsadvancedprotobuf-idl-check><a href=/zh-cn/docs/advanced/protobuf-idl/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedprotobuf-idl><span>Protobuf</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedpb-generic-reference-li><input type=checkbox id=m-zh-cndocsadvancedpb-generic-reference-check>
<label for=m-zh-cndocsadvancedpb-generic-reference-check><a href=/zh-cn/docs/advanced/pb-generic-reference/ title="GoogleProtobuf 对象泛化调用" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedpb-generic-reference><span>Protobuf 泛化调用</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedgeneric-service-li><input type=checkbox id=m-zh-cndocsadvancedgeneric-service-check>
<label for=m-zh-cndocsadvancedgeneric-service-check><a href=/zh-cn/docs/advanced/generic-service/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedgeneric-service><span>实现泛化调用</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedecho-service-li><input type=checkbox id=m-zh-cndocsadvancedecho-service-check>
<label for=m-zh-cndocsadvancedecho-service-check><a href=/zh-cn/docs/advanced/echo-service/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedecho-service><span>回声测试</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedcontext-li><input type=checkbox id=m-zh-cndocsadvancedcontext-check>
<label for=m-zh-cndocsadvancedcontext-check><a href=/zh-cn/docs/advanced/context/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedcontext><span>上下文信息</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedattachment-li><input type=checkbox id=m-zh-cndocsadvancedattachment-check>
<label for=m-zh-cndocsadvancedattachment-check><a href=/zh-cn/docs/advanced/attachment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedattachment><span>隐式参数</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedasync-call-li><input type=checkbox id=m-zh-cndocsadvancedasync-call-check>
<label for=m-zh-cndocsadvancedasync-call-check><a href=/zh-cn/docs/advanced/async-call/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedasync-call><span>异步调用</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedasync-execute-on-provider-li><input type=checkbox id=m-zh-cndocsadvancedasync-execute-on-provider-check>
<label for=m-zh-cndocsadvancedasync-execute-on-provider-check><a href=/zh-cn/docs/advanced/async-execute-on-provider/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedasync-execute-on-provider><span>异步执行</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedlocal-call-li><input type=checkbox id=m-zh-cndocsadvancedlocal-call-check>
<label for=m-zh-cndocsadvancedlocal-call-check><a href=/zh-cn/docs/advanced/local-call/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedlocal-call><span>本地调用</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedcallback-parameter-li><input type=checkbox id=m-zh-cndocsadvancedcallback-parameter-check>
<label for=m-zh-cndocsadvancedcallback-parameter-check><a href=/zh-cn/docs/advanced/callback-parameter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedcallback-parameter><span>参数回调</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedauth-li><input type=checkbox id=m-zh-cndocsadvancedauth-check>
<label for=m-zh-cndocsadvancedauth-check><a href=/zh-cn/docs/advanced/auth/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedauth><span>服务鉴权</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedevents-notify-li><input type=checkbox id=m-zh-cndocsadvancedevents-notify-check>
<label for=m-zh-cndocsadvancedevents-notify-check><a href=/zh-cn/docs/advanced/events-notify/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedevents-notify><span>事件通知</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedlocal-stub-li><input type=checkbox id=m-zh-cndocsadvancedlocal-stub-check>
<label for=m-zh-cndocsadvancedlocal-stub-check><a href=/zh-cn/docs/advanced/local-stub/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedlocal-stub><span>本地存根</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedlocal-mock-li><input type=checkbox id=m-zh-cndocsadvancedlocal-mock-check>
<label for=m-zh-cndocsadvancedlocal-mock-check><a href=/zh-cn/docs/advanced/local-mock/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedlocal-mock><span>本地伪装</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvanceddelay-publish-li><input type=checkbox id=m-zh-cndocsadvanceddelay-publish-check>
<label for=m-zh-cndocsadvanceddelay-publish-check><a href=/zh-cn/docs/advanced/delay-publish/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvanceddelay-publish><span>延迟暴露</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedconcurrency-control-li><input type=checkbox id=m-zh-cndocsadvancedconcurrency-control-check>
<label for=m-zh-cndocsadvancedconcurrency-control-check><a href=/zh-cn/docs/advanced/concurrency-control/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedconcurrency-control><span>并发控制</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedconfig-connections-li><input type=checkbox id=m-zh-cndocsadvancedconfig-connections-check>
<label for=m-zh-cndocsadvancedconfig-connections-check><a href=/zh-cn/docs/advanced/config-connections/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedconfig-connections><span>连接控制</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedlazy-connect-li><input type=checkbox id=m-zh-cndocsadvancedlazy-connect-check>
<label for=m-zh-cndocsadvancedlazy-connect-check><a href=/zh-cn/docs/advanced/lazy-connect/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedlazy-connect><span>延迟连接</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedstickiness-li><input type=checkbox id=m-zh-cndocsadvancedstickiness-check>
<label for=m-zh-cndocsadvancedstickiness-check><a href=/zh-cn/docs/advanced/stickiness/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedstickiness><span>粘滞连接</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedtls-li><input type=checkbox id=m-zh-cndocsadvancedtls-check>
<label for=m-zh-cndocsadvancedtls-check><a href=/zh-cn/docs/advanced/tls/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedtls><span>TLS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedtoken-authorization-li><input type=checkbox id=m-zh-cndocsadvancedtoken-authorization-check>
<label for=m-zh-cndocsadvancedtoken-authorization-check><a href=/zh-cn/docs/advanced/token-authorization/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedtoken-authorization><span>令牌验证</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedrouting-rule-li><input type=checkbox id=m-zh-cndocsadvancedrouting-rule-check>
<label for=m-zh-cndocsadvancedrouting-rule-check><a href=/zh-cn/docs/advanced/routing-rule/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedrouting-rule><span>路由规则</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedrouting-rule-deprecated-li><input type=checkbox id=m-zh-cndocsadvancedrouting-rule-deprecated-check>
<label for=m-zh-cndocsadvancedrouting-rule-deprecated-check><a href=/zh-cn/docs/advanced/routing-rule-deprecated/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedrouting-rule-deprecated><span>旧路由规则</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedconfig-rule-li><input type=checkbox id=m-zh-cndocsadvancedconfig-rule-check>
<label for=m-zh-cndocsadvancedconfig-rule-check><a href=/zh-cn/docs/advanced/config-rule/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedconfig-rule><span>配置规则</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedservice-downgrade-li><input type=checkbox id=m-zh-cndocsadvancedservice-downgrade-check>
<label for=m-zh-cndocsadvancedservice-downgrade-check><a href=/zh-cn/docs/advanced/service-downgrade/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedservice-downgrade><span>服务降级</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedconfig-rule-deprecated-li><input type=checkbox id=m-zh-cndocsadvancedconfig-rule-deprecated-check>
<label for=m-zh-cndocsadvancedconfig-rule-deprecated-check><a href=/zh-cn/docs/advanced/config-rule-deprecated/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedconfig-rule-deprecated><span>旧配置规则</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedconsumer-threadpool-li><input type=checkbox id=m-zh-cndocsadvancedconsumer-threadpool-check>
<label for=m-zh-cndocsadvancedconsumer-threadpool-check><a href=/zh-cn/docs/advanced/consumer-threadpool/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedconsumer-threadpool><span>消费端线程池模型</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedgraceful-shutdown-li><input type=checkbox id=m-zh-cndocsadvancedgraceful-shutdown-check>
<label for=m-zh-cndocsadvancedgraceful-shutdown-check><a href=/zh-cn/docs/advanced/graceful-shutdown/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedgraceful-shutdown><span>优雅停机</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedhostname-binding-li><input type=checkbox id=m-zh-cndocsadvancedhostname-binding-check>
<label for=m-zh-cndocsadvancedhostname-binding-check><a href=/zh-cn/docs/advanced/hostname-binding/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedhostname-binding><span>主机绑定</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedset-host-li><input type=checkbox id=m-zh-cndocsadvancedset-host-check>
<label for=m-zh-cndocsadvancedset-host-check><a href=/zh-cn/docs/advanced/set-host/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedset-host><span>主机配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedsimplify-registry-data-li><input type=checkbox id=m-zh-cndocsadvancedsimplify-registry-data-check>
<label for=m-zh-cndocsadvancedsimplify-registry-data-check><a href=/zh-cn/docs/advanced/simplify-registry-data/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedsimplify-registry-data><span>注册信息简化</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedlogger-strategy-li><input type=checkbox id=m-zh-cndocsadvancedlogger-strategy-check>
<label for=m-zh-cndocsadvancedlogger-strategy-check><a href=/zh-cn/docs/advanced/logger-strategy/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedlogger-strategy><span>日志适配</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedaccesslog-li><input type=checkbox id=m-zh-cndocsadvancedaccesslog-check>
<label for=m-zh-cndocsadvancedaccesslog-check><a href=/zh-cn/docs/advanced/accesslog/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedaccesslog><span>访问日志</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsadvancedservice-container-li><input type=checkbox id=m-zh-cndocsadvancedservice-container-check>
<label for=m-zh-cndocsadvancedservice-container-check><a href=/zh-cn/docs/advanced/service-container/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsadvancedservice-container><span>服务容器</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsmigration-li><input type=checkbox id=m-zh-cndocsmigration-check>
<label for=m-zh-cndocsmigration-check><a href=/zh-cn/docs/migration/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsmigration><span>升级与兼容性</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsmigrationmigration-and-compatibility-guide-li><input type=checkbox id=m-zh-cndocsmigrationmigration-and-compatibility-guide-check>
<label for=m-zh-cndocsmigrationmigration-and-compatibility-guide-check><a href=/zh-cn/docs/migration/migration-and-compatibility-guide/ title="3.x 升级与兼容性指南" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsmigrationmigration-and-compatibility-guide><span>总结</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsmigrationmigration-service-discovery-li><input type=checkbox id=m-zh-cndocsmigrationmigration-service-discovery-check>
<label for=m-zh-cndocsmigrationmigration-service-discovery-check><a href=/zh-cn/docs/migration/migration-service-discovery/ title=应用级地址发现迁移指南 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsmigrationmigration-service-discovery><span>应用级地址发现</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsmigrationmigration-triple-li><input type=checkbox id=m-zh-cndocsmigrationmigration-triple-check>
<label for=m-zh-cndocsmigrationmigration-triple-check><a href=/zh-cn/docs/migration/migration-triple/ title=Triple协议迁移指南 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsmigrationmigration-triple><span>Triple</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsmigrationmigration-routingrule-li><input type=checkbox id=m-zh-cndocsmigrationmigration-routingrule-check>
<label for=m-zh-cndocsmigrationmigration-routingrule-check><a href=/zh-cn/docs/migration/migration-routingrule/ title=统一路由规则升级指南 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsmigrationmigration-routingrule><span>路由规则</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguages-li><input type=checkbox id=m-zh-cndocslanguages-check>
<label for=m-zh-cndocslanguages-check><a href=/zh-cn/docs/languages/ title=多语言实现 class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguages><span>多语言</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguageserlang-li><input type=checkbox id=m-zh-cndocslanguageserlang-check>
<label for=m-zh-cndocslanguageserlang-check><a href=/zh-cn/docs/languages/erlang/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguageserlang><span>Erlang</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguageserlangquick-start-li><input type=checkbox id=m-zh-cndocslanguageserlangquick-start-check>
<label for=m-zh-cndocslanguageserlangquick-start-check><a href=/zh-cn/docs/languages/erlang/quick-start/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguageserlangquick-start><span>快速开始</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguageserlangreference-li><input type=checkbox id=m-zh-cndocslanguageserlangreference-check>
<label for=m-zh-cndocslanguageserlangreference-check><a href=/zh-cn/docs/languages/erlang/reference/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguageserlangreference><span>消费者配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguageserlangservice-li><input type=checkbox id=m-zh-cndocslanguageserlangservice-check>
<label for=m-zh-cndocslanguageserlangservice-check><a href=/zh-cn/docs/languages/erlang/service/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguageserlangservice><span>提供者配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguageserlangserialization-li><input type=checkbox id=m-zh-cndocslanguageserlangserialization-check>
<label for=m-zh-cndocslanguageserlangserialization-check><a href=/zh-cn/docs/languages/erlang/serialization/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguageserlangserialization><span>序列化配置项</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolang-li><input type=checkbox id=m-zh-cndocslanguagesgolang-check>
<label for=m-zh-cndocslanguagesgolang-check><a href=/zh-cn/docs/languages/golang/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolang><span>golang</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangquick-start-li><input type=checkbox id=m-zh-cndocslanguagesgolangquick-start-check>
<label for=m-zh-cndocslanguagesgolangquick-start-check><a href=/zh-cn/docs/languages/golang/quick-start/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangquick-start><span>Go 快速开始</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolanggo-specific-li><input type=checkbox id=m-zh-cndocslanguagesgolanggo-specific-check>
<label for=m-zh-cndocslanguagesgolanggo-specific-check><a href=/zh-cn/docs/languages/golang/go-specific/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolanggo-specific><span>Go 语言定义服务</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolangdubbo-go-15-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-15-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-15-check><a href=/zh-cn/docs/languages/golang/dubbo-go-1.5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolangdubbo-go-15><span>Dubbo-go 1.5</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-15configurationclient-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-15configurationclient-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-15configurationclient-check><a href=/zh-cn/docs/languages/golang/dubbo-go-1.5/configuration/client/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-15configurationclient><span>client</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-15configurationprovider-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-15configurationprovider-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-15configurationprovider-check><a href=/zh-cn/docs/languages/golang/dubbo-go-1.5/configuration/provider/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-15configurationprovider><span>service providers</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-15quick-start-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-15quick-start-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-15quick-start-check><a href=/zh-cn/docs/languages/golang/dubbo-go-1.5/quick-start/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-15quick-start><span>快速开始</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolangdubbo-go-30-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolangdubbo-go-30><span>Dubbo-go 3.0</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samples-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samples-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samples-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolangdubbo-go-30samples><span>高级使用</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-filter-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-filter-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-filter-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/custom-filter/ title="Dubbo-go 3.0 自定义filter" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-filter><span>Filter</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesgo_java_interactive-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesgo_java_interactive-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesgo_java_interactive-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/go_java_interactive/ title="go-java 3.0 互通示例" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesgo_java_interactive><span>Go-Java 互通</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesmetrics-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesmetrics-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesmetrics-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/metrics/ title="Dubbo-go 数据上报" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesmetrics><span>Metrics 数据上报</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplessamples_repo-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplessamples_repo-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplessamples_repo-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/samples_repo/ title="dubbo-go 3.0 示例仓库" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplessamples_repo><span>Samples 仓库介绍</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesexception_response-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesexception_response-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesexception_response-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/exception_response/ title="Dubbo-go 3.0 异常回传" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesexception_response><span>Triple 异常回传</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesgeneric-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesgeneric-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesgeneric-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/generic/ title="Dubbo-go 泛化调用" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesgeneric><span>泛化调用</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesmesh_router-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesmesh_router-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesmesh_router-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/mesh_router/ title="Dubbo-go v3 统一路由规则" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesmesh_router><span>路由规则</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesconfig-center-dynamic-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesconfig-center-dynamic-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesconfig-center-dynamic-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/config-center-dynamic/ title="Dubbo-go 3.0 动态配置" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesconfig-center-dynamic><span>配置中心和配置监听</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesstart-check-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesstart-check-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesstart-check-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/start-check/ title="Dubbo-go 3.0 启动时检查" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesstart-check><span>启动时检查</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-logger-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-logger-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-logger-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/custom-logger/ title="Dubbo-go 3.0 自定义日志" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplescustom-logger><span>日志</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesservice-discovery-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesservice-discovery-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesservice-discovery-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/service-discovery/ title="Dubbo-go 3.0 应用级服务发现" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesservice-discovery><span>应用级服务发现</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesregistry-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30samplesregistry-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30samplesregistry-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/samples/registry/ title="Dubbo-go 3.0 注册中心" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30samplesregistry><span>注册中心</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolangdubbo-go-30concept-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30concept-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30concept-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/concept/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolangdubbo-go-30concept><span>基本概念</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptapp_and_interface-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30conceptapp_and_interface-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30conceptapp_and_interface-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/concept/app_and_interface/ title="Dubbo-go 的应用和接口" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptapp_and_interface><span>服务层级</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptconfiguration-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30conceptconfiguration-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30conceptconfiguration-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/concept/configuration/ title=Dubbo-go的配置 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptconfiguration><span>框架配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptprotocol-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30conceptprotocol-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30conceptprotocol-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/concept/protocol/ title="Dubbo-go 的网络协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptprotocol><span>网络协议</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptregistry-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30conceptregistry-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30conceptregistry-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/concept/registry/ title="Dubbo-go 的注册中心" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30conceptregistry><span>注册中心</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolangdubbo-go-30preface-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30preface-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30preface-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/preface/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolangdubbo-go-30preface><span>简介</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30preface30_feature-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30preface30_feature-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30preface30_feature-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/preface/3.0_feature/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30preface30_feature><span>dubbo-go 3.0 新特性</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30prefacearchitecture-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30prefacearchitecture-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30prefacearchitecture-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/preface/architecture/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30prefacearchitecture><span>架构</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolangdubbo-go-30developer-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30developer-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30developer-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/developer/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolangdubbo-go-30developer><span>开发者指南</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30developerdesign-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30developerdesign-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30developerdesign-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/developer/design/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30developerdesign><span>架构设计</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesgolangdubbo-go-30quickstart-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30quickstart-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30quickstart-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/quickstart/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesgolangdubbo-go-30quickstart><span>快速开始</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_dubbo-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_dubbo-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_dubbo-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/quickstart/quickstart_dubbo/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_dubbo><span>Dubbo-go 协议快速开始</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_triple-li><input type=checkbox id=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_triple-check>
<label for=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_triple-check><a href=/zh-cn/docs/languages/golang/dubbo-go-3.0/quickstart/quickstart_triple/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesgolangdubbo-go-30quickstartquickstart_triple><span>Triple 协议快速开始</span></a></label></li></ul></li></ul></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocslanguagesjava-li><input type=checkbox id=m-zh-cndocslanguagesjava-check>
<label for=m-zh-cndocslanguagesjava-check><a href=/zh-cn/docs/languages/java/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocslanguagesjava><span>java</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesjavajava-specific-li><input type=checkbox id=m-zh-cndocslanguagesjavajava-specific-check>
<label for=m-zh-cndocslanguagesjavajava-specific-check><a href=/zh-cn/docs/languages/java/java-specific/ title="Java 语言定义服务" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesjavajava-specific><span>Java 定义服务</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocslanguagesjavaquick-start-li><input type=checkbox id=m-zh-cndocslanguagesjavaquick-start-check>
<label for=m-zh-cndocslanguagesjavaquick-start-check><a href=/zh-cn/docs/languages/java/quick-start/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocslanguagesjavaquick-start><span>Java 快速开始</span></a></label></li></ul></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferences-li><input type=checkbox id=m-zh-cndocsreferences-check>
<label for=m-zh-cndocsreferences-check><a href=/zh-cn/docs/references/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferences><span>参考手册</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesprotobuf-li><input type=checkbox id=m-zh-cndocsreferencesprotobuf-check>
<label for=m-zh-cndocsreferencesprotobuf-check><a href=/zh-cn/docs/references/protobuf/ title=Protobuf class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesprotobuf><span>protobuf</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotobufidl-li><input type=checkbox id=m-zh-cndocsreferencesprotobufidl-check>
<label for=m-zh-cndocsreferencesprotobufidl-check><a href=/zh-cn/docs/references/protobuf/idl/ title="使用 IDL 开发服务" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotobufidl><span>idl</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesxml-li><input type=checkbox id=m-zh-cndocsreferencesxml-check>
<label for=m-zh-cndocsreferencesxml-check><a href=/zh-cn/docs/references/xml/ title="Schema 配置参考手册" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesxml><span>XML 配置</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-application-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-application-check>
<label for=m-zh-cndocsreferencesxmldubbo-application-check><a href=/zh-cn/docs/references/xml/dubbo-application/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-application><span>dubbo:application</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-argument-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-argument-check>
<label for=m-zh-cndocsreferencesxmldubbo-argument-check><a href=/zh-cn/docs/references/xml/dubbo-argument/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-argument><span>dubbo:argument</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-config-center-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-config-center-check>
<label for=m-zh-cndocsreferencesxmldubbo-config-center-check><a href=/zh-cn/docs/references/xml/dubbo-config-center/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-config-center><span>dubbo:config-center</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-consumer-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-consumer-check>
<label for=m-zh-cndocsreferencesxmldubbo-consumer-check><a href=/zh-cn/docs/references/xml/dubbo-consumer/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-consumer><span>dubbo:consumer</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-method-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-method-check>
<label for=m-zh-cndocsreferencesxmldubbo-method-check><a href=/zh-cn/docs/references/xml/dubbo-method/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-method><span>dubbo:method</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-module-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-module-check>
<label for=m-zh-cndocsreferencesxmldubbo-module-check><a href=/zh-cn/docs/references/xml/dubbo-module/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-module><span>dubbo:module</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-monitor-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-monitor-check>
<label for=m-zh-cndocsreferencesxmldubbo-monitor-check><a href=/zh-cn/docs/references/xml/dubbo-monitor/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-monitor><span>dubbo:monitor</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-parameter-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-parameter-check>
<label for=m-zh-cndocsreferencesxmldubbo-parameter-check><a href=/zh-cn/docs/references/xml/dubbo-parameter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-parameter><span>dubbo:parameter</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-protocol-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-protocol-check>
<label for=m-zh-cndocsreferencesxmldubbo-protocol-check><a href=/zh-cn/docs/references/xml/dubbo-protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-protocol><span>dubbo:protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-provider-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-provider-check>
<label for=m-zh-cndocsreferencesxmldubbo-provider-check><a href=/zh-cn/docs/references/xml/dubbo-provider/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-provider><span>dubbo:provider</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-reference-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-reference-check>
<label for=m-zh-cndocsreferencesxmldubbo-reference-check><a href=/zh-cn/docs/references/xml/dubbo-reference/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-reference><span>dubbo:reference</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-registry-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-registry-check>
<label for=m-zh-cndocsreferencesxmldubbo-registry-check><a href=/zh-cn/docs/references/xml/dubbo-registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-registry><span>dubbo:registry</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesxmldubbo-service-li><input type=checkbox id=m-zh-cndocsreferencesxmldubbo-service-check>
<label for=m-zh-cndocsreferencesxmldubbo-service-check><a href=/zh-cn/docs/references/xml/dubbo-service/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesxmldubbo-service><span>dubbo:service</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfig-center-li><input type=checkbox id=m-zh-cndocsreferencesconfig-center-check>
<label for=m-zh-cndocsreferencesconfig-center-check><a href=/zh-cn/docs/references/config-center/ title=配置中心参考手册 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfig-center><span>配置中心</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesregistry-li><input type=checkbox id=m-zh-cndocsreferencesregistry-check>
<label for=m-zh-cndocsreferencesregistry-check><a href=/zh-cn/docs/references/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesregistry><span>注册中心参考手册</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesregistrynacos-li><input type=checkbox id=m-zh-cndocsreferencesregistrynacos-check>
<label for=m-zh-cndocsreferencesregistrynacos-check><a href=/zh-cn/docs/references/registry/nacos/ title="Nacos 注册中心" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesregistrynacos><span>Nacos</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesregistryzookeeper-li><input type=checkbox id=m-zh-cndocsreferencesregistryzookeeper-check>
<label for=m-zh-cndocsreferencesregistryzookeeper-check><a href=/zh-cn/docs/references/registry/zookeeper/ title="Zookeeper 注册中心" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesregistryzookeeper><span>Zookeeper</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesregistrymulticast-li><input type=checkbox id=m-zh-cndocsreferencesregistrymulticast-check>
<label for=m-zh-cndocsreferencesregistrymulticast-check><a href=/zh-cn/docs/references/registry/multicast/ title="Multicast 注册中心" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesregistrymulticast><span>Multicast</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesregistryredis-li><input type=checkbox id=m-zh-cndocsreferencesregistryredis-check>
<label for=m-zh-cndocsreferencesregistryredis-check><a href=/zh-cn/docs/references/registry/redis/ title="Redis 注册中心" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesregistryredis><span>Redis</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesregistrysimple-li><input type=checkbox id=m-zh-cndocsreferencesregistrysimple-check>
<label for=m-zh-cndocsreferencesregistrysimple-check><a href=/zh-cn/docs/references/registry/simple/ title="Simple 注册中心" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesregistrysimple><span>Simple</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesspis-li><input type=checkbox id=m-zh-cndocsreferencesspis-check>
<label for=m-zh-cndocsreferencesspis-check><a href=/zh-cn/docs/references/spis/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesspis><span>SPI 扩展实现</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisprotocol-li><input type=checkbox id=m-zh-cndocsreferencesspisprotocol-check>
<label for=m-zh-cndocsreferencesspisprotocol-check><a href=/zh-cn/docs/references/spis/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisprotocol><span>协议扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisfilter-li><input type=checkbox id=m-zh-cndocsreferencesspisfilter-check>
<label for=m-zh-cndocsreferencesspisfilter-check><a href=/zh-cn/docs/references/spis/filter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisfilter><span>调用拦截扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisinvoker-listener-li><input type=checkbox id=m-zh-cndocsreferencesspisinvoker-listener-check>
<label for=m-zh-cndocsreferencesspisinvoker-listener-check><a href=/zh-cn/docs/references/spis/invoker-listener/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisinvoker-listener><span>引用监听扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisexporter-listener-li><input type=checkbox id=m-zh-cndocsreferencesspisexporter-listener-check>
<label for=m-zh-cndocsreferencesspisexporter-listener-check><a href=/zh-cn/docs/references/spis/exporter-listener/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisexporter-listener><span>暴露监听扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspiscluster-li><input type=checkbox id=m-zh-cndocsreferencesspiscluster-check>
<label for=m-zh-cndocsreferencesspiscluster-check><a href=/zh-cn/docs/references/spis/cluster/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspiscluster><span>集群扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisrouter-li><input type=checkbox id=m-zh-cndocsreferencesspisrouter-check>
<label for=m-zh-cndocsreferencesspisrouter-check><a href=/zh-cn/docs/references/spis/router/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisrouter><span>路由扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisload-balance-li><input type=checkbox id=m-zh-cndocsreferencesspisload-balance-check>
<label for=m-zh-cndocsreferencesspisload-balance-check><a href=/zh-cn/docs/references/spis/load-balance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisload-balance><span>负载均衡扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspismerger-li><input type=checkbox id=m-zh-cndocsreferencesspismerger-check>
<label for=m-zh-cndocsreferencesspismerger-check><a href=/zh-cn/docs/references/spis/merger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspismerger><span>合并结果扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisregistry-li><input type=checkbox id=m-zh-cndocsreferencesspisregistry-check>
<label for=m-zh-cndocsreferencesspisregistry-check><a href=/zh-cn/docs/references/spis/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisregistry><span>注册中心扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspismonitor-li><input type=checkbox id=m-zh-cndocsreferencesspismonitor-check>
<label for=m-zh-cndocsreferencesspismonitor-check><a href=/zh-cn/docs/references/spis/monitor/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspismonitor><span>监控中心扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisextension-factory-li><input type=checkbox id=m-zh-cndocsreferencesspisextension-factory-check>
<label for=m-zh-cndocsreferencesspisextension-factory-check><a href=/zh-cn/docs/references/spis/extension-factory/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisextension-factory><span>扩展点加载扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisproxy-factory-li><input type=checkbox id=m-zh-cndocsreferencesspisproxy-factory-check>
<label for=m-zh-cndocsreferencesspisproxy-factory-check><a href=/zh-cn/docs/references/spis/proxy-factory/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisproxy-factory><span>动态代理扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspiscompiler-li><input type=checkbox id=m-zh-cndocsreferencesspiscompiler-check>
<label for=m-zh-cndocsreferencesspiscompiler-check><a href=/zh-cn/docs/references/spis/compiler/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspiscompiler><span>编译器扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisconfig-center-li><input type=checkbox id=m-zh-cndocsreferencesspisconfig-center-check>
<label for=m-zh-cndocsreferencesspisconfig-center-check><a href=/zh-cn/docs/references/spis/config-center/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisconfig-center><span>配置中心扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisdispatcher-li><input type=checkbox id=m-zh-cndocsreferencesspisdispatcher-check>
<label for=m-zh-cndocsreferencesspisdispatcher-check><a href=/zh-cn/docs/references/spis/dispatcher/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisdispatcher><span>消息派发扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisthreadpool-li><input type=checkbox id=m-zh-cndocsreferencesspisthreadpool-check>
<label for=m-zh-cndocsreferencesspisthreadpool-check><a href=/zh-cn/docs/references/spis/threadpool/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisthreadpool><span>线程池扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisserialize-li><input type=checkbox id=m-zh-cndocsreferencesspisserialize-check>
<label for=m-zh-cndocsreferencesspisserialize-check><a href=/zh-cn/docs/references/spis/serialize/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisserialize><span>序列化扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisremoting-li><input type=checkbox id=m-zh-cndocsreferencesspisremoting-check>
<label for=m-zh-cndocsreferencesspisremoting-check><a href=/zh-cn/docs/references/spis/remoting/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisremoting><span>网络传输扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisexchanger-li><input type=checkbox id=m-zh-cndocsreferencesspisexchanger-check>
<label for=m-zh-cndocsreferencesspisexchanger-check><a href=/zh-cn/docs/references/spis/exchanger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisexchanger><span>信息交换扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspispage-li><input type=checkbox id=m-zh-cndocsreferencesspispage-check>
<label for=m-zh-cndocsreferencesspispage-check><a href=/zh-cn/docs/references/spis/page/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspispage><span>对等网络节点组网器扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisnetworker-li><input type=checkbox id=m-zh-cndocsreferencesspisnetworker-check>
<label for=m-zh-cndocsreferencesspisnetworker-check><a href=/zh-cn/docs/references/spis/networker/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisnetworker><span>组网扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspistelnet-handler-li><input type=checkbox id=m-zh-cndocsreferencesspistelnet-handler-check>
<label for=m-zh-cndocsreferencesspistelnet-handler-check><a href=/zh-cn/docs/references/spis/telnet-handler/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspistelnet-handler><span>Telnet 命令扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisstatus-checker-li><input type=checkbox id=m-zh-cndocsreferencesspisstatus-checker-check>
<label for=m-zh-cndocsreferencesspisstatus-checker-check><a href=/zh-cn/docs/references/spis/status-checker/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisstatus-checker><span>状态检查扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspiscontainer-li><input type=checkbox id=m-zh-cndocsreferencesspiscontainer-check>
<label for=m-zh-cndocsreferencesspiscontainer-check><a href=/zh-cn/docs/references/spis/container/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspiscontainer><span>容器扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspiscache-li><input type=checkbox id=m-zh-cndocsreferencesspiscache-check>
<label for=m-zh-cndocsreferencesspiscache-check><a href=/zh-cn/docs/references/spis/cache/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspiscache><span>缓存扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisvalidation-li><input type=checkbox id=m-zh-cndocsreferencesspisvalidation-check>
<label for=m-zh-cndocsreferencesspisvalidation-check><a href=/zh-cn/docs/references/spis/validation/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisvalidation><span>验证扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspislogger-adapter-li><input type=checkbox id=m-zh-cndocsreferencesspislogger-adapter-check>
<label for=m-zh-cndocsreferencesspislogger-adapter-check><a href=/zh-cn/docs/references/spis/logger-adapter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspislogger-adapter><span>日志适配扩展</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesspisdubbo-spi-li><input type=checkbox id=m-zh-cndocsreferencesspisdubbo-spi-check>
<label for=m-zh-cndocsreferencesspisdubbo-spi-check><a href=/zh-cn/docs/references/spis/dubbo-spi/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesspisdubbo-spi><span>扩展点开发指南</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesconfiguration-li><input type=checkbox id=m-zh-cndocsreferencesconfiguration-check>
<label for=m-zh-cndocsreferencesconfiguration-check><a href=/zh-cn/docs/references/configuration/ title="Dubbo 配置" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesconfiguration><span>配置</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfigurationoverview-li><input type=checkbox id=m-zh-cndocsreferencesconfigurationoverview-check>
<label for=m-zh-cndocsreferencesconfigurationoverview-check><a href=/zh-cn/docs/references/configuration/overview/ title=配置概述 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfigurationoverview><span>概述</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfigurationapi-li><input type=checkbox id=m-zh-cndocsreferencesconfigurationapi-check>
<label for=m-zh-cndocsreferencesconfigurationapi-check><a href=/zh-cn/docs/references/configuration/api/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfigurationapi><span>API 配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfigurationxml-li><input type=checkbox id=m-zh-cndocsreferencesconfigurationxml-check>
<label for=m-zh-cndocsreferencesconfigurationxml-check><a href=/zh-cn/docs/references/configuration/xml/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfigurationxml><span>XML 配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfigurationannotation-li><input type=checkbox id=m-zh-cndocsreferencesconfigurationannotation-check>
<label for=m-zh-cndocsreferencesconfigurationannotation-check><a href=/zh-cn/docs/references/configuration/annotation/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfigurationannotation><span>注解配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfigurationproperties-li><input type=checkbox id=m-zh-cndocsreferencesconfigurationproperties-check>
<label for=m-zh-cndocsreferencesconfigurationproperties-check><a href=/zh-cn/docs/references/configuration/properties/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfigurationproperties><span>属性配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfigurationexternal-config-li><input type=checkbox id=m-zh-cndocsreferencesconfigurationexternal-config-check>
<label for=m-zh-cndocsreferencesconfigurationexternal-config-check><a href=/zh-cn/docs/references/configuration/external-config/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfigurationexternal-config><span>外部化配置</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesconfigurationenvironment-variables-li><input type=checkbox id=m-zh-cndocsreferencesconfigurationenvironment-variables-check>
<label for=m-zh-cndocsreferencesconfigurationenvironment-variables-check><a href=/zh-cn/docs/references/configuration/environment-variables/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesconfigurationenvironment-variables><span>自动加载环境变量</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesmetadata-li><input type=checkbox id=m-zh-cndocsreferencesmetadata-check>
<label for=m-zh-cndocsreferencesmetadata-check><a href=/zh-cn/docs/references/metadata/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesmetadata><span>元数据参考手册</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesapi-li><input type=checkbox id=m-zh-cndocsreferencesapi-check>
<label for=m-zh-cndocsreferencesapi-check><a href=/zh-cn/docs/references/api/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesapi><span>API 参考手册</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferenceslifecycle-li><input type=checkbox id=m-zh-cndocsreferenceslifecycle-check>
<label for=m-zh-cndocsreferenceslifecycle-check><a href=/zh-cn/docs/references/lifecycle/ title="Kubernetes 生命周期对齐探针" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferenceslifecycle><span>探针</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferenceslifecyclebrief-li><input type=checkbox id=m-zh-cndocsreferenceslifecyclebrief-check>
<label for=m-zh-cndocsreferenceslifecyclebrief-check><a href=/zh-cn/docs/references/lifecycle/brief/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferenceslifecyclebrief><span>使用方法</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferenceslifecycleliveness-li><input type=checkbox id=m-zh-cndocsreferenceslifecycleliveness-check>
<label for=m-zh-cndocsreferenceslifecycleliveness-check><a href=/zh-cn/docs/references/lifecycle/liveness/ title="Liveness 存活探针" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferenceslifecycleliveness><span>存活探针</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferenceslifecyclereadiness-li><input type=checkbox id=m-zh-cndocsreferenceslifecyclereadiness-check>
<label for=m-zh-cndocsreferenceslifecyclereadiness-check><a href=/zh-cn/docs/references/lifecycle/readiness/ title="Readiness 就绪探针" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferenceslifecyclereadiness><span>就绪探针</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferenceslifecyclestartup-li><input type=checkbox id=m-zh-cndocsreferenceslifecyclestartup-check>
<label for=m-zh-cndocsreferenceslifecyclestartup-check><a href=/zh-cn/docs/references/lifecycle/startup/ title="Startup 启动探针" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferenceslifecyclestartup><span>启动探针</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferenceslifecyclerest-li><input type=checkbox id=m-zh-cndocsreferenceslifecyclerest-check>
<label for=m-zh-cndocsreferenceslifecyclerest-check><a href=/zh-cn/docs/references/lifecycle/rest/ title="开发 REST 应用" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferenceslifecyclerest><span>REST 支持</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesqos-li><input type=checkbox id=m-zh-cndocsreferencesqos-check>
<label for=m-zh-cndocsreferencesqos-check><a href=/zh-cn/docs/references/qos/ title=在线运维命令参考手册 class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesqos><span>QOS 手册</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencestelnet-li><input type=checkbox id=m-zh-cndocsreferencestelnet-check>
<label for=m-zh-cndocsreferencestelnet-check><a href=/zh-cn/docs/references/telnet/ title="Telnet 命令参考手册" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencestelnet><span>Telnet 手册</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesmaven-li><input type=checkbox id=m-zh-cndocsreferencesmaven-check>
<label for=m-zh-cndocsreferencesmaven-check><a href=/zh-cn/docs/references/maven/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesmaven><span>Maven 插件参考手册</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesprotocols-li><input type=checkbox id=m-zh-cndocsreferencesprotocols-check>
<label for=m-zh-cndocsreferencesprotocols-check><a href=/zh-cn/docs/references/protocols/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesprotocols><span>RPC协议</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolsdubbo-li><input type=checkbox id=m-zh-cndocsreferencesprotocolsdubbo-check>
<label for=m-zh-cndocsreferencesprotocolsdubbo-check><a href=/zh-cn/docs/references/protocols/dubbo/ title="dubbo 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolsdubbo><span>dubbo://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolshttp-li><input type=checkbox id=m-zh-cndocsreferencesprotocolshttp-check>
<label for=m-zh-cndocsreferencesprotocolshttp-check><a href=/zh-cn/docs/references/protocols/http/ title="http 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolshttp><span>http://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolshessian-li><input type=checkbox id=m-zh-cndocsreferencesprotocolshessian-check>
<label for=m-zh-cndocsreferencesprotocolshessian-check><a href=/zh-cn/docs/references/protocols/hessian/ title="hessian 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolshessian><span>hessian://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolsredis-li><input type=checkbox id=m-zh-cndocsreferencesprotocolsredis-check>
<label for=m-zh-cndocsreferencesprotocolsredis-check><a href=/zh-cn/docs/references/protocols/redis/ title="redis 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolsredis><span>redis://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolsthrift-li><input type=checkbox id=m-zh-cndocsreferencesprotocolsthrift-check>
<label for=m-zh-cndocsreferencesprotocolsthrift-check><a href=/zh-cn/docs/references/protocols/thrift/ title="thrift 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolsthrift><span>thrift://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolsgrpc-li><input type=checkbox id=m-zh-cndocsreferencesprotocolsgrpc-check>
<label for=m-zh-cndocsreferencesprotocolsgrpc-check><a href=/zh-cn/docs/references/protocols/grpc/ title="gRPC 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolsgrpc><span>grpc://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolsmemcached-li><input type=checkbox id=m-zh-cndocsreferencesprotocolsmemcached-check>
<label for=m-zh-cndocsreferencesprotocolsmemcached-check><a href=/zh-cn/docs/references/protocols/memcached/ title="memcached 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolsmemcached><span>memcached://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolsrmi-li><input type=checkbox id=m-zh-cndocsreferencesprotocolsrmi-check>
<label for=m-zh-cndocsreferencesprotocolsrmi-check><a href=/zh-cn/docs/references/protocols/rmi/ title="rmi 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolsrmi><span>rmi://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolswebservice-li><input type=checkbox id=m-zh-cndocsreferencesprotocolswebservice-check>
<label for=m-zh-cndocsreferencesprotocolswebservice-check><a href=/zh-cn/docs/references/protocols/webservice/ title="webservice 协议" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolswebservice><span>webservice://</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolstri-li><input type=checkbox id=m-zh-cndocsreferencesprotocolstri-check>
<label for=m-zh-cndocsreferencesprotocolstri-check><a href=/zh-cn/docs/references/protocols/tri/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolstri><span>Triple 协议</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesprotocolsrest-li><input type=checkbox id=m-zh-cndocsreferencesprotocolsrest-check>
<label for=m-zh-cndocsreferencesprotocolsrest-check><a href=/zh-cn/docs/references/protocols/rest/ title="开发 REST 应用" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesprotocolsrest><span>REST 支持</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesgraalvm-li><input type=checkbox id=m-zh-cndocsreferencesgraalvm-check>
<label for=m-zh-cndocsreferencesgraalvm-check><a href=/zh-cn/docs/references/graalvm/ title=支持graalvm class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesgraalvm><span>support graalvm</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesgraalvmsupport-graalvm-li><input type=checkbox id=m-zh-cndocsreferencesgraalvmsupport-graalvm-check>
<label for=m-zh-cndocsreferencesgraalvmsupport-graalvm-check><a href=/zh-cn/docs/references/graalvm/support-graalvm/ title="使用 GraalVM 打包 Native Image" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesgraalvmsupport-graalvm><span>Native Image</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsreferencesrouters-li><input type=checkbox id=m-zh-cndocsreferencesrouters-check>
<label for=m-zh-cndocsreferencesrouters-check><a href=/zh-cn/docs/references/routers/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsreferencesrouters><span>路由规则</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesroutersvirtualservice-li><input type=checkbox id=m-zh-cndocsreferencesroutersvirtualservice-check>
<label for=m-zh-cndocsreferencesroutersvirtualservice-check><a href=/zh-cn/docs/references/routers/virtualservice/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesroutersvirtualservice><span>VirtualService</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsreferencesroutersdestination-rule-li><input type=checkbox id=m-zh-cndocsreferencesroutersdestination-rule-check>
<label for=m-zh-cndocsreferencesroutersdestination-rule-check><a href=/zh-cn/docs/references/routers/destination-rule/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsreferencesroutersdestination-rule><span>DestinationRule</span></a></label></li></ul></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-zh-cndocsperformance-li><input type=checkbox id=m-zh-cndocsperformance-check>
<label for=m-zh-cndocsperformance-check><a href=/zh-cn/docs/performance/ title="性能优化 & 基准测试" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-zh-cndocsperformance><span>性能优化</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-zh-cndocsperformancebenchmarking-li><input type=checkbox id=m-zh-cndocsperformancebenchmarking-check>
<label for=m-zh-cndocsperformancebenchmarking-check><a href=/zh-cn/docs/performance/benchmarking/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-zh-cndocsperformancebenchmarking><span>基准测试</span></a></label></li></ul></li></ul></li></ul></nav></div></div><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=https://cn.dubbo.apache.org/zh-cn/docs/>文档</a></li><li class=breadcrumb-item><a href=https://cn.dubbo.apache.org/zh-cn/docs/references/>参考手册</a></li><li class=breadcrumb-item><a href=https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/>RPC协议</a></li><li class="breadcrumb-item active" aria-current=page><a href=https://cn.dubbo.apache.org/zh-cn/docs/references/protocols/dubbo/ aria-disabled=true class="btn-link disabled">dubbo://</a></li></ol></nav><div class=td-content><h1>dubbo 协议</h1><div class=lead>dubbo:// 协议参考手册</div><header class=article-meta></header><div class="pageinfo pageinfo-primary"><p>此文档已经不再维护。您当前查看的是快照版本。如果想要查看最新版本的文档,请参阅<a href=/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/dubbo/>最新版本</a></p></div><p>Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。</p><p>反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。</p><p><img src=/imgs/user/dubbo-protocol.jpg alt=dubbo-protocol.jpg></p><ul><li>Transporter: mina, netty, grizzy</li><li>Serialization: dubbo, hessian2, java, json</li><li>Dispatcher: all, direct, message, execution, connection</li><li>ThreadPool: fixed, cached</li></ul><h2 id=特性>特性</h2><p>缺省协议,使用基于 netty <code>3.2.5.Final</code> 和 hessian2 <code>3.2.1-fixed-2(Alibaba embed version)</code> 的 tbremoting 交互。</p><ul><li>连接个数:单连接</li><li>连接方式:长连接</li><li>传输协议:TCP</li><li>传输方式:NIO 异步传输</li><li>序列化:Hessian 二进制序列化</li><li>适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用 dubbo 协议传输大文件或超大字符串。</li><li>适用场景:常规远程服务方法调用</li></ul><h2 id=约束>约束</h2><ul><li>参数及返回值需实现 <code>Serializable</code> 接口</li><li>参数及返回值不能自定义实现 <code>List</code>, <code>Map</code>, <code>Number</code>, <code>Date</code>, <code>Calendar</code> 等接口,只能用 JDK 自带的实现,因为 hessian 会做特殊处理,自定义实现类中的属性值都会丢失。</li><li>Hessian 序列化,只传成员属性值和值的类型,不传方法或静态变量,兼容情况 <sup id=fnref:1><a href=#fn:1 class=footnote-ref role=doc-noteref>1</a></sup><sup id=fnref:2><a href=#fn:2 class=footnote-ref role=doc-noteref>2</a></sup></li></ul><table><thead><tr><th>数据通讯</th><th>情况</th><th>结果</th></tr></thead><tbody><tr><td>A->B</td><td>类A多一种 属性(或者说类B少一种 属性)</td><td>不抛异常,A多的那 个属性的值,B没有, 其他正常</td></tr><tr><td>A->B</td><td>枚举A多一种 枚举(或者说B少一种 枚举),A使用多 出来的枚举进行传输</td><td>抛异常</td></tr><tr><td>A->B</td><td>枚举A多一种 枚举(或者说B少一种 枚举),A不使用 多出来的枚举进行传输</td><td>不抛异常,B正常接 收数据</td></tr><tr><td>A->B</td><td>A和B的属性 名相同,但类型不相同</td><td>抛异常</td></tr><tr><td>A->B</td><td>serialId 不相同</td><td>正常传输</td></tr></tbody></table><p>接口增加方法,对客户端无影响,如果该方法不是客户端需要的,客户端不需要重新部署。输入参数和结果集中增加属性,对客户端无影响,如果客户端并不需要新属性,不用重新部署。</p><p>输入参数和结果集属性名变化,对客户端序列化无影响,但是如果客户端不重新部署,不管输入还是输出,属性名变化的属性值是获取不到的。</p><p>总结:服务器端和客户端对领域对象并不需要完全一致,而是按照最大匹配原则。</p><h2 id=配置>配置</h2><p>配置协议:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:protocol</span> name=<span style=color:#2aa198>&#34;dubbo&#34;</span> port=<span style=color:#2aa198>&#34;20880&#34;</span> <span style=color:#268bd2>/&gt;</span>
</span></span></code></pre></div><p>设置默认协议:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:provider</span> protocol=<span style=color:#2aa198>&#34;dubbo&#34;</span> <span style=color:#268bd2>/&gt;</span>
</span></span></code></pre></div><p>设置某个服务的协议:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:service</span> interface=<span style=color:#2aa198>&#34;...&#34;</span> protocol=<span style=color:#2aa198>&#34;dubbo&#34;</span> <span style=color:#268bd2>/&gt;</span>
</span></span></code></pre></div><p>多端口:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:protocol</span> id=<span style=color:#2aa198>&#34;dubbo1&#34;</span> name=<span style=color:#2aa198>&#34;dubbo&#34;</span> port=<span style=color:#2aa198>&#34;20880&#34;</span> <span style=color:#268bd2>/&gt;</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:protocol</span> id=<span style=color:#2aa198>&#34;dubbo2&#34;</span> name=<span style=color:#2aa198>&#34;dubbo&#34;</span> port=<span style=color:#2aa198>&#34;20881&#34;</span> <span style=color:#268bd2>/&gt;</span>
</span></span></code></pre></div><p>配置协议选项:</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:protocol</span> name=<span style=color:#2aa198>“dubbo”</span> port=<span style=color:#2aa198>“9090”</span> server=<span style=color:#2aa198>“netty”</span> client=<span style=color:#2aa198>“netty”</span> codec=<span style=color:#2aa198>“dubbo”</span> serialization=<span style=color:#2aa198>“hessian2”</span> charset=<span style=color:#2aa198>“UTF-8”</span> threadpool=<span style=color:#2aa198>“fixed”</span> threads=<span style=color:#2aa198>“100”</span> queues=<span style=color:#2aa198>“0”</span> iothreads=<span style=color:#2aa198>“9”</span> buffer=<span style=color:#2aa198>“8192”</span> accepts=<span style=color:#2aa198>“1000”</span> payload=<span style=color:#2aa198>“8388608”</span> <span style=color:#268bd2>/&gt;</span>
</span></span></code></pre></div><p>多连接配置:</p><p>Dubbo 协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接。</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:service</span> interface=<span style=color:#2aa198>&#34;...&#34;</span> connections=<span style=color:#2aa198>&#34;1&#34;</span><span style=color:#268bd2>/&gt;</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:reference</span> interface=<span style=color:#2aa198>&#34;...&#34;</span> connections=<span style=color:#2aa198>&#34;1&#34;</span><span style=color:#268bd2>/&gt;</span>
</span></span></code></pre></div><ul><li><code>&lt;dubbo:service connections="0"></code><code>&lt;dubbo:reference connections="0"></code> 表示该服务使用 JVM 共享长连接。<strong>缺省</strong></li><li><code>&lt;dubbo:service connections="1"></code><code>&lt;dubbo:reference connections="1"></code> 表示该服务使用独立长连接。</li><li><code>&lt;dubbo:service connections="2"></code><code>&lt;dubbo:reference connections="2"></code> 表示该服务使用独立两条长连接。</li></ul><p>为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护。</p><div class=highlight><pre tabindex=0 style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#268bd2>&lt;dubbo:protocol</span> name=<span style=color:#2aa198>&#34;dubbo&#34;</span> accepts=<span style=color:#2aa198>&#34;1000&#34;</span> <span style=color:#268bd2>/&gt;</span>
</span></span></code></pre></div><h2 id=常见问题>常见问题</h2><h4 id=为什么要消费者比提供者个数多>为什么要消费者比提供者个数多?</h4><p>因 dubbo 协议采用单一长连接,假设网络为千兆网卡 <sup id=fnref:3><a href=#fn:3 class=footnote-ref role=doc-noteref>3</a></sup>,根据测试经验数据每条连接最多只能压满 7MByte(不同的环境可能不一样,供参考),理论上 1 个服务提供者需要 20 个服务消费者才能压满网卡。</p><h4 id=为什么不能传大包>为什么不能传大包?</h4><p>因 dubbo 协议采用单一长连接,如果每次请求的数据包大小为 500KByte,假设网络为千兆网卡 <sup id=fnref1:3><a href=#fn:3 class=footnote-ref role=doc-noteref>3</a></sup>,每条连接最大 7MByte(不同的环境可能不一样,供参考),单个服务提供者的 TPS(每秒处理事务数)最大为:128MByte / 500KByte = 262。单个消费者调用单个服务提供者的 TPS(每秒处理事务数)最大为:7MByte / 500KByte = 14。如果能接受,可以考虑使用,否则网络将成为瓶颈。</p><h4 id=为什么采用异步单一长连接>为什么采用异步单一长连接?</h4><p>因为服务的现状大都是服务提供者少,通常只有几台机器,而服务的消费者多,可能整个网站都在访问该服务,比如 Morgan 的提供者只有 6 台提供者,却有上百台消费者,每天有 1.5 亿次调用,如果采用常规的 hessian 服务,服务提供者很容易就被压跨,通过单一连接,保证单一消费者不会压死提供者,长连接,减少连接握手验证等,并使用异步 IO,复用线程池,防止 C10K 问题。</p><div class=footnotes role=doc-endnotes><hr><ol><li id=fn:1><p>由吴亚军提供&#160;<a href=#fnref:1 class=footnote-backref role=doc-backlink>&#8617;&#xfe0e;</a></p></li><li id=fn:2><p>总结:会抛异常的情况:枚举值一边多一种,一边少一种,正好使用了差别的那种,或者属性名相同,类型不同&#160;<a href=#fnref:2 class=footnote-backref role=doc-backlink>&#8617;&#xfe0e;</a></p></li><li id=fn:3><p>1024Mbit=128MByte&#160;<a href=#fnref:3 class=footnote-backref role=doc-backlink>&#8617;&#xfe0e;</a>&#160;<a href=#fnref1:3 class=footnote-backref role=doc-backlink>&#8617;&#xfe0e;</a></p></li></ol></div><div id=pre-footer><h2>反馈</h2><p class=feedback--prompt>此页是否对您有帮助?</p><button class="btn btn-primary mb-4 feedback--yes"></button>
<button class="btn btn-primary mb-4 feedback--no"></button></div><script>const yes=document.querySelector(".feedback--yes"),no=document.querySelector(".feedback--no");document.querySelectorAll(".feedback--link").forEach(e=>{e.href=e.href+window.location.pathname});const sendFeedback=e=>{gtag||console.log("!gtag"),gtag("event","click",{event_category:"Helpful",event_label:window.location.pathname,value:e})},disableButtons=()=>{yes.disabled=!0,yes.classList.add("feedback--button__disabled"),no.disabled=!0,no.classList.add("feedback--button__disabled")};yes.addEventListener("click",()=>{sendFeedback(1),disableButtons(),document.querySelector(".feedback--response").classList.remove("feedback--response__hidden")}),no.addEventListener("click",()=>{sendFeedback(0),disableButtons(),document.querySelector(".feedback--response").classList.remove("feedback--response__hidden")})</script><br><div class="text-muted mt-5 pt-3 border-top">最后修改 March 1, 2023: <a href=https://github.com/apache/dubbo-website/commit/ceab0ea115ae57b25d607864d9eb2e5e9423f4cb>Move sdk docs (#2337) (ceab0ea115a)</a></div></div></main><div class="d-none d-xl-block col-xl-2 td-toc d-print-none"><div class="td-page-meta ml-2 pb-1 pt-2 mb-0"><a href=https://github.com/apache/dubbo-website/edit/master/content/zh-cn/docs/references/protocols/dubbo.md target=_blank><i class="fa fa-edit fa-fw"></i> 编辑此页</a>
<a href="https://github.com/apache/dubbo-website/new/master/content/zh-cn/docs/references/protocols/dubbo.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at+the+top+of+the+page+%28weight+controls+how+its+ordered+amongst+other+pages+in+the+same+directory%3B+lowest+number+first%29.%0A%2A+Add+a+good+commit+message+at+the+bottom+of+the+page+%28%3C80+characters%3B+use+the+extended+description+field+for+more+detail%29.%0A%2A+Create+a+new+branch+so+you+can+preview+your+new+file+and+request+a+review+via+Pull+Request.%0A" target=_blank><i class="fa fa-edit fa-fw"></i> 创建子页面</a>
<a href="https://github.com/apache/dubbo-website/issues/new?title=dubbo%20%e5%8d%8f%e8%ae%ae" target=_blank><i class="fab fa-github fa-fw"></i> 登记问题</a>
<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas fa-tasks fa-fw"></i> 提交项目问题</a></div><nav id=TableOfContents><ul><li><a href=#特性>特性</a></li><li><a href=#约束>约束</a></li><li><a href=#配置>配置</a></li><li><a href=#常见问题>常见问题</a><ul><li></li></ul></li></ul></nav></div></div></div></div><footer class="bg-dark py-5 row d-print-none footer-margin-0"><div class="container-fluid mx-sm-5"><div class=row><div class="col-6 col-sm-4 text-xs-center order-sm-2"><ul class="list-inline mb-0"><li class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top title="Dubbo mailing list archive" aria-label="Dubbo mailing list archive"><a class=text-white target=_blank rel="noopener noreferrer" href=https://lists.apache.org/list.html?dev@dubbo.apache.org><i class="fa fa-envelope"></i></a></li></ul></div><div class="col-6 col-sm-4 text-right text-xs-center order-sm-3"><ul class="list-inline mb-0"><li class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top title=GitHub aria-label=GitHub><a class=text-white target=_blank rel="noopener noreferrer" href=https://github.com/apache/dubbo><i class="fab fa-github"></i></a></li><li class="list-inline-item mx-2 h3" data-toggle=tooltip data-placement=top title="Subscribe to mailing list" aria-label="Subscribe to mailing list"><a class=text-white target=_blank rel="noopener noreferrer" href=mailto:dev-subscribe@dubbo.apache.org><i class="fa fa-envelope"></i></a></li></ul></div><div class="col-12 col-sm-4 text-center py-2 order-sm-2"><small class=text-white>&copy; 2024 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation. 保留所有权利</small></div></div></div></footer><div class="row pt-2 pb-2 footer-margin-0"><div class="container-fluid mx-sm-5"><div class=text-center id=my-footer><img alt=apache_logo src=/imgs/apache_logo.png><ul><li><a href=https://www.apache.org>Foundation</a></li><li><a href=https://www.apache.org/licenses/>License</a></li><li><a href=https://dubbo.apache.org/en/overview/notices/>Security</a></li><li><a href=https://www.apache.org/events/current-event>Events</a></li><li><a href=https://www.apache.org/foundation/sponsorship.html>Sponsorship</a></li><li><a href=https://privacy.apache.org/policies/privacy-policy-public.html>Privacy</a></li><li><a href=https://www.apache.org/foundation/thanks.html>Thanks</a></li></ul></div></div></div><script src=/js/popper.min.js integrity=sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49 crossorigin=anonymous></script><script src=/js/bootstrap.min.js integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy crossorigin=anonymous></script><script src=/js/main.min.b075178d232d3b0039b3cb6af2fc2e9d90071820167a60f4eea3a79169975ee8.js integrity="sha256-sHUXjSMtOwA5s8tq8vwunZAHGCAWemD07qOnkWmXXug=" crossorigin=anonymous></script><script async src=https://widget.kapa.ai/kapa-widget.bundle.js data-website-id=d763c4f2-f871-400b-aeca-d986c4af73c2 data-project-name="Apache Dubbo" data-project-color=#E8442E data-button-text="Ask AI" data-search-mode-enabled=true data-modal-open-on-command-k=true data-modal-disclaimer="The AI supports multiple languages, but it may not be accessible in China due to recaptcha, a proxy is required." data-project-logo=https://pbs.twimg.com/profile_images/1011849068283191302/FJbH5vbF_400x400.jpg data-modal-example-questions="What is Apache Dubbo?,How to run Apache Dubbo?" data-button-position-top data-button-position-right=20px data-button-position-bottom=200px data-button-position-left></script><script>(function(e,t,n,s){e[s]=e[s]||[];var a=t.getElementsByTagName(n)[0],i=t.createElement(n);i.async=!0,i.id="beacon-aplus",i.setAttribute("exparams","userid=&aplus&sidx=aplusSidex&ckx=aplusCkx"),i.src="//g.alicdn.com/alilog/mlog/aplus_v2.js",i.crossorigin="anonymous",a.parentNode.insertBefore(i,a)})(window,document,"script","aplus_queue"),function(e){var t=e.createElement("script");t.type="text/javascript",t.async=!0,t.src="//g.alicdn.com/aes/??tracker/3.3.4/index.js,tracker-plugin-pv/3.0.5/index.js,tracker-plugin-event/3.0.0/index.js,tracker-plugin-autolog/3.0.3/index.js,tracker-plugin-survey/3.0.3/index.js,tracker-plugin-jserror/3.0.3/index.js,tracker-plugin-resourceError/3.0.3/index.js",t.onload=function(){window.AES_CONFIG=window.AES_CONFIG||{env:"prod"},window.aes=new AES({pid:"zN245h",user_type:6}),window.AESPluginAutologConfig={exposure:"auto"},window.AEMPluginInstances=[aes.use(AESPluginPV,window.AESPluginPVConfig||{enableHistory:!0}),aes.use(AESPluginEvent,window.AESPluginEventConfig||{}),aes.use(AESPluginSurvey,window.AESPluginEventConfig||{}),aes.use(AESPluginAutolog,window.AESPluginAutologConfig||{}),aes.use(AESPluginJSError,window.AESPluginJSError||{}),aes.use(AESPluginResourceError,window.AESPluginResourceError||{})]},setTimeout(function(){e.getElementsByTagName("body")[0].appendChild(t)},800)}(document)</script></body></html>