blob: 897d0a6dc0f3bac4b10bccc465ba91b535384309 [file] [log] [blame]
<!doctype html><html lang=en class=no-js><head><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=canonical href=https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/meter/><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>Meter | Apache Dubbo</title><meta property="og:title" content="Meter">
<meta property="og:description" content="overview 1. Indicator access instructions 2. Indicator system design Dubbo&rsquo;s indicator system involves three parts in total, indicator collection, local aggregation, and indicator push Indicator collection: Push the indicators that need to be monitored inside Dubbo to a unified Collector for storage Local Aggregation: All indicators collected are basic indicators, and some quantile indicators need to be calculated through local aggregation Indicator push: The collected and aggregated indicators are pushed to third-party servers in a certain way, currently only involving Prometheus"><meta property="og:type" content="article"><meta property="og:url" content="https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/meter/"><meta property="article:section" content="docs3-v2"><meta property="article:modified_time" content="2023-01-10T14:21:39+08:00"><meta itemprop=name content="Meter"><meta itemprop=description content="overview 1. Indicator access instructions 2. Indicator system design Dubbo&rsquo;s indicator system involves three parts in total, indicator collection, local aggregation, and indicator push Indicator collection: Push the indicators that need to be monitored inside Dubbo to a unified Collector for storage Local Aggregation: All indicators collected are basic indicators, and some quantile indicators need to be calculated through local aggregation Indicator push: The collected and aggregated indicators are pushed to third-party servers in a certain way, currently only involving Prometheus"><meta itemprop=dateModified content="2023-01-10T14:21:39+08:00"><meta itemprop=wordCount content="2448"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Meter"><meta name=twitter:description content="overview 1. Indicator access instructions 2. Indicator system design Dubbo&rsquo;s indicator system involves three parts in total, indicator collection, local aggregation, and indicator push Indicator collection: Push the indicators that need to be monitored inside Dubbo to a unified Collector for storage Local Aggregation: All indicators collected are basic indicators, and some quantile indicators need to be calculated through local aggregation Indicator push: The collected and aggregated indicators are pushed to third-party servers in a certain way, currently only involving Prometheus"><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="overview 1. Indicator access instructions 2. Indicator system design Dubbo&rsquo;s indicator system involves three parts in total, indicator collection, local aggregation, and indicator push Indicator collection: Push the indicators that need to be monitored inside Dubbo to a unified Collector for storage Local Aggregation: All indicators collected are basic indicators, and some quantile indicators need to be calculated through local aggregation Indicator push: The collected and aggregated indicators are pushed to third-party servers in a certain way, currently only involving Prometheus"><meta property="og:description" content="overview 1. Indicator access instructions 2. Indicator system design Dubbo&rsquo;s indicator system involves three parts in total, indicator collection, local aggregation, and indicator push Indicator collection: Push the indicators that need to be monitored inside Dubbo to a unified Collector for storage Local Aggregation: All indicators collected are basic indicators, and some quantile indicators need to be calculated through local aggregation Indicator push: The collected and aggregated indicators are pushed to third-party servers in a certain way, currently only involving Prometheus"><meta name=twitter:description content="overview 1. Indicator access instructions 2. Indicator system design Dubbo&rsquo;s indicator system involves three parts in total, indicator collection, local aggregation, and indicator push Indicator collection: Push the indicators that need to be monitored inside Dubbo to a unified Collector for storage Local Aggregation: All indicators collected are basic indicators, and some quantile indicators need to be calculated through local aggregation Indicator push: The collected and aggregated indicators are pushed to third-party servers in a certain way, currently only involving Prometheus"><meta property="og:url" content="https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/meter/"><meta property="og:title" content="Meter"><meta name=twitter:title content="Meter"><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=/en/><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=/en/overview/><span>Overview</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class="nav-link active" href=/en/docs3-v2/><span class=active>SDK Manual</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/en/blog/><span>Blog</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/en/download/><span>Download</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 dropdown d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdownMenuLink role=button data-toggle=dropdown aria-haspopup=true aria-expanded=false>English</a><div class="dropdown-menu dropdown-menu-right" aria-labelledby=navbarDropdownMenuLink><a class=dropdown-item href=/zh-cn/>中文</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-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter").addClass("active"),$("#td-section-nav #m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter-li span").addClass("td-sidebar-nav-active-item"),$("#td-section-nav #m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter").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-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter-li").siblings("li").addClass("show"),$("#td-section-nav #m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter-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-endocs3-v2-li><ul class=ul-1><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdk-li><input type=checkbox id=m-endocs3-v2java-sdk-check>
<label for=m-endocs3-v2java-sdk-check><a href=/en/docs3-v2/java-sdk/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdk><span>Java</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkquick-start-li><input type=checkbox id=m-endocs3-v2java-sdkquick-start-check>
<label for=m-endocs3-v2java-sdkquick-start-check><a href=/en/docs3-v2/java-sdk/quick-start/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkquick-start><span>Quick Start</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkquick-startbrief-li><input type=checkbox id=m-endocs3-v2java-sdkquick-startbrief-check>
<label for=m-endocs3-v2java-sdkquick-startbrief-check><a href=/en/docs3-v2/java-sdk/quick-start/brief/ title="1 - Rapidly deploy a microservice application" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkquick-startbrief><span>Quickly deploy a microservice application</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkquick-startapi-li><input type=checkbox id=m-endocs3-v2java-sdkquick-startapi-check>
<label for=m-endocs3-v2java-sdkquick-startapi-check><a href=/en/docs3-v2/java-sdk/quick-start/api/ title="2 - Develop microservice applications based on Dubbo API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkquick-startapi><span>Develop microservice applications based on Dubbo API</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkquick-startspring-boot-li><input type=checkbox id=m-endocs3-v2java-sdkquick-startspring-boot-check>
<label for=m-endocs3-v2java-sdkquick-startspring-boot-check><a href=/en/docs3-v2/java-sdk/quick-start/spring-boot/ title="3 - Dubbo x Spring Boot to develop microservice applications" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkquick-startspring-boot><span>Dubbo x Spring Boot to develop microservice applications</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkquick-startspring-xml-li><input type=checkbox id=m-endocs3-v2java-sdkquick-startspring-xml-check>
<label for=m-endocs3-v2java-sdkquick-startspring-xml-check><a href=/en/docs3-v2/java-sdk/quick-start/spring-xml/ title="4 - Dubbo x Spring XML to develop microservice applications" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkquick-startspring-xml><span>Dubbo x Spring XML to develop microservice applications</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkquick-startidl-li><input type=checkbox id=m-endocs3-v2java-sdkquick-startidl-check>
<label for=m-endocs3-v2java-sdkquick-startidl-check><a href=/en/docs3-v2/java-sdk/quick-start/idl/ title="IDL defines cross-language services" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkquick-startidl><span>IDL Defines</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkconcepts-and-architecture-li><input type=checkbox id=m-endocs3-v2java-sdkconcepts-and-architecture-check>
<label for=m-endocs3-v2java-sdkconcepts-and-architecture-check><a href=/en/docs3-v2/java-sdk/concepts-and-architecture/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkconcepts-and-architecture><span>Concepts and Architecture</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkconcepts-and-architectureoverall-architecture-li><input type=checkbox id=m-endocs3-v2java-sdkconcepts-and-architectureoverall-architecture-check>
<label for=m-endocs3-v2java-sdkconcepts-and-architectureoverall-architecture-check><a href=/en/docs3-v2/java-sdk/concepts-and-architecture/overall-architecture/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkconcepts-and-architectureoverall-architecture><span>Overall Architecture</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkconcepts-and-architecturecode-architecture-li><input type=checkbox id=m-endocs3-v2java-sdkconcepts-and-architecturecode-architecture-check>
<label for=m-endocs3-v2java-sdkconcepts-and-architecturecode-architecture-check><a href=/en/docs3-v2/java-sdk/concepts-and-architecture/code-architecture/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkconcepts-and-architecturecode-architecture><span>Code Architecture</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkconcepts-and-architectureservice-discovery-li><input type=checkbox id=m-endocs3-v2java-sdkconcepts-and-architectureservice-discovery-check>
<label for=m-endocs3-v2java-sdkconcepts-and-architectureservice-discovery-check><a href=/en/docs3-v2/java-sdk/concepts-and-architecture/service-discovery/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkconcepts-and-architectureservice-discovery><span>Service Discovery</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkconcepts-and-architectureservice-invocation-li><input type=checkbox id=m-endocs3-v2java-sdkconcepts-and-architectureservice-invocation-check>
<label for=m-endocs3-v2java-sdkconcepts-and-architectureservice-invocation-check><a href=/en/docs3-v2/java-sdk/concepts-and-architecture/service-invocation/ title="Service Call Extension Point" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkconcepts-and-architectureservice-invocation><span>Service Call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkconcepts-and-architecturemesh-li><input type=checkbox id=m-endocs3-v2java-sdkconcepts-and-architecturemesh-check>
<label for=m-endocs3-v2java-sdkconcepts-and-architecturemesh-check><a href=/en/docs3-v2/java-sdk/concepts-and-architecture/mesh/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkconcepts-and-architecturemesh><span>Dubbo Mesh</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkconcepts-and-architecturetriple-li><input type=checkbox id=m-endocs3-v2java-sdkconcepts-and-architecturetriple-check>
<label for=m-endocs3-v2java-sdkconcepts-and-architecturetriple-check><a href=/en/docs3-v2/java-sdk/concepts-and-architecture/triple/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkconcepts-and-architecturetriple><span>Triple Protocol</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usage-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usage-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usage-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usage><span>Advanced Features</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservice-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservice-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservice-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/ title="Configuration Framework and Service Behavior" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usageservice><span>Framework and Services</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicepreflight-check-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicepreflight-check-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicepreflight-check-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/preflight-check/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicepreflight-check><span>Check at startup</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicetransaction-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicetransaction-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicetransaction-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/transaction/ title="Distributed Transactions" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicetransaction><span>Distributed Transaction</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegroup-merger-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegroup-merger-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicegroup-merger-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/group-merger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegroup-merger><span>Group Aggregation</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceport-unification-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceport-unification-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceport-unification-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/port-unification/ title="Port Protocol Multiplexing" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceport-unification><span>Port protocol multiplexing</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicereactive-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicereactive-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicereactive-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/reactive/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicereactive><span>Reactive Programming</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-versions-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-versions-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-versions-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/multi-versions/ title="Service Version" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-versions><span>Service version</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicefault-tolerent-strategy-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicefault-tolerent-strategy-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicefault-tolerent-strategy-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/fault-tolerent-strategy/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicefault-tolerent-strategy><span>Cluster Fault Tolerance</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceparameter-validation-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceparameter-validation-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceparameter-validation-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/parameter-validation/ title="Parameter Validation" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceparameter-validation><span>Parameter verification</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-group-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-group-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-group-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/service-group/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-group><span>Service Group</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-call-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-call-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-call-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/async-call/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-call><span>Asynchronous call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-downgrade-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-downgrade-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-downgrade-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/service-downgrade/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceservice-downgrade><span>Service Downgrade</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-reference-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-reference-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-reference-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/generic-reference/ title="Generalization call (client generalization)" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-reference><span>Generalized call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicestreaming-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicestreaming-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicestreaming-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/streaming/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicestreaming><span>Stream Communication</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceisolation-executor-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceisolation-executor-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceisolation-executor-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/isolation-executor/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceisolation-executor><span>Thread Pool Isolation</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceattachment-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceattachment-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceattachment-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/attachment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceattachment><span>Call link to pass implicit parameters</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceexplicit-target-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceexplicit-target-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceexplicit-target-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/explicit-target/ title="Direct Connection Provider" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceexplicit-target><span>Direct Link Provider</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicespecify-ip-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicespecify-ip-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicespecify-ip-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/specify-ip/ title="Dynamic IP call" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicespecify-ip><span>Dynamic IP call at runtime</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceconsistent-hash-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceconsistent-hash-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceconsistent-hash-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/consistent-hash/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceconsistent-hash><span>Consistent Hash Site Selection</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicecontext-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicecontext-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicecontext-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/context/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicecontext><span>RPC call context</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicesubscribe-only-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicesubscribe-only-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicesubscribe-only-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/subscribe-only/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicesubscribe-only><span>Subscription Only</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceevents-notify-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceevents-notify-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceevents-notify-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/events-notify/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceevents-notify><span>Call trigger event notification</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-protocols-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-protocols-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-protocols-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/multi-protocols/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-protocols><span>Multi-protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicecallback-parameter-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicecallback-parameter-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicecallback-parameter-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/callback-parameter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicecallback-parameter><span>The server makes a callback to the client</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-mock-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-mock-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-mock-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/local-mock/ title="Local Masquerade" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-mock><span>Local camouflage</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-registry-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-registry-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-registry-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/multi-registry/ title="Multiple Registries" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicemulti-registry><span>Multiple Registration Centers</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-stub-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-stub-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-stub-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/local-stub/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-stub><span>Local Stub</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceecho-service-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceecho-service-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceecho-service-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/echo-service/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceecho-service><span>Echo Test</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceaccesslog-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceaccesslog-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceaccesslog-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/accesslog/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceaccesslog><span>Call Information Record</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-service-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-service-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-service-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/generic-service/ title="Achieving generalization (server-side generalization)" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicegeneric-service><span>Generalized call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-execute-on-provider-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-execute-on-provider-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-execute-on-provider-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/async-execute-on-provider/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceasync-execute-on-provider><span>Asynchronous execution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-call-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-call-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-call-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/local-call/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicelocal-call><span>Local call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicedelay-publish-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicedelay-publish-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicedelay-publish-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/delay-publish/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicedelay-publish><span>Delayed Exposure</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceregistry-only-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceregistry-only-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageserviceregistry-only-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/registry-only/ title="Sign Up Only" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageserviceregistry-only><span>Sign up only</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicedistributed-transaction-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageservicedistributed-transaction-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageservicedistributed-transaction-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/service/distributed-transaction/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageservicedistributed-transaction><span>Distributed transaction support</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservability-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageobservability-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageobservability-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/ title="Observability of Dubbo" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservability><span>Observability</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/meter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitymeter><span>Meter</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitytracing-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitytracing-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitytracing-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/tracing/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitytracing><span>Tracing</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitylogging-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitylogging-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitylogging-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/logging/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitylogging><span>Logging</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilityhealth-information-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilityhealth-information-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilityhealth-information-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/health-information/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilityhealth-information><span>Health Information</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitykubernetes-probes-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitykubernetes-probes-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitykubernetes-probes-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/kubernetes-probes/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitykubernetes-probes><span>Kubernetes Probes</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitydoc-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitydoc-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitydoc-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/doc/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageobservabilitydoc><span>Document case</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetraffic-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetraffic-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetraffic-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/ title="Traffic Governance Rules" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usagetraffic><span>Traffic Governance</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficrouting-rule-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficrouting-rule-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficrouting-rule-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/routing-rule/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficrouting-rule><span>Routing Rules</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficconfig-rule-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficconfig-rule-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficconfig-rule-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/config-rule/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficconfig-rule><span>Configuration Rules</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-style-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-style-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-style-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-style><span>Mesh Routing Rules</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledynamic-rule-deployment-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledynamic-rule-deployment-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledynamic-rule-deployment-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/dynamic-rule-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledynamic-rule-deployment><span>Dynamic Routing</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleweight-rule-deployment-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleweight-rule-deployment-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleweight-rule-deployment-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/weight-rule-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleweight-rule-deployment><span>Weight Routing</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledemo-rule-deployment-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledemo-rule-deployment-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledemo-rule-deployment-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/demo-rule-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledemo-rule-deployment><span>Use Case</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleblue-green-deployment-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleblue-green-deployment-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleblue-green-deployment-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/blue-green-deployment/ title="Blue-Green Deployment" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleblue-green-deployment><span>Blue-green deployment</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleab-testing-deployment-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleab-testing-deployment-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleab-testing-deployment-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/ab-testing-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styleab-testing-deployment><span>Ab Test</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylevirtualservice-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylevirtualservice-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylevirtualservice-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/virtualservice/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylevirtualservice><span>VirtualService</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylecanary-deployment-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylecanary-deployment-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylecanary-deployment-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/canary-deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-stylecanary-deployment><span>Canary</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledestination-rule-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledestination-rule-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledestination-rule-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/mesh-style/destination-rule/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagetrafficmesh-styledestination-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-endocs3-v2java-sdkadvanced-features-and-usageperformance-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformance-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformance-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/ title="Diagnostics and Tuning" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformance><span>Diagnostics</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceprofiler-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceprofiler-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceprofiler-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/profiler/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceprofiler><span>Request time-consuming sampling</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-model-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-model-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-model-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/threading-model/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-model><span>Threading Model</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelprovider-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelprovider-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelprovider-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/threading-model/provider/ title="Server Thread Model" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelprovider><span>Server-side threading model</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelconsumer-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelconsumer-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelconsumer-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/threading-model/consumer/ title="Consumer Thread Model" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancethreading-modelconsumer><span>Consumer thread model</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancerouter-snapshot-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancerouter-snapshot-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancerouter-snapshot-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/router-snapshot/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancerouter-snapshot><span>Routing Status Collection</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancereference-config-cache-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancereference-config-cache-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancereference-config-cache-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/reference-config-cache/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancereference-config-cache><span>Service Reference Configuration Object Cache</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceloadbalance-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceloadbalance-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceloadbalance-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/loadbalance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceloadbalance><span>Load Balancing</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesimplify-registry-data-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesimplify-registry-data-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesimplify-registry-data-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/simplify-registry-data/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesimplify-registry-data><span>Registration Information Simplified</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceresult-cache-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceresult-cache-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceresult-cache-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/result-cache/ title="Call Result Cache" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceresult-cache><span>Call result cache</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconcurrency-control-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconcurrency-control-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconcurrency-control-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/concurrency-control/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconcurrency-control><span>Concurrency Control</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconfig-connections-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconfig-connections-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconfig-connections-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/config-connections/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceconfig-connections><span>Connection Control</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancelazy-connect-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancelazy-connect-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancelazy-connect-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/lazy-connect/ title="Delayed Connection" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancelazy-connect><span>Delayed connection</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancestickiness-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancestickiness-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancestickiness-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/stickiness/ title="Stick Connection" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancestickiness><span>Stick connection</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesupport-graalvm-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesupport-graalvm-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesupport-graalvm-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/support-graalvm/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancesupport-graalvm><span>Support Graal VM</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancedump-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancedump-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformancedump-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/dump/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformancedump><span>Export thread stack</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceserialization-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceserialization-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceserialization-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/serialization/ title="Kryo and FST Serialization" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageperformanceserialization><span>Kryo and FST serialization</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurity-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurity-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagesecurity-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/security/ title="Improve service security" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurity><span>Improve Security</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityclass-check-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityclass-check-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityclass-check-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/security/class-check/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityclass-check><span>Dubbo Class Inspection Mechanism</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytls-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytls-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytls-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/security/tls/ title="TLS Support" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytls><span>TLS support</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytoken-authorization-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytoken-authorization-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytoken-authorization-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/security/token-authorization/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecuritytoken-authorization><span>Access Control</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityauth-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityauth-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityauth-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/security/auth/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usagesecurityauth><span>Service Authentication</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageothers-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageothers-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageothers-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkadvanced-features-and-usageothers><span>Others</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersservice-container-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageothersservice-container-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageothersservice-container-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/service-container/ title="Custom Service Container" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersservice-container><span>Custom service container</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersgraceful-shutdown-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageothersgraceful-shutdown-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageothersgraceful-shutdown-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/graceful-shutdown/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersgraceful-shutdown><span>Graceful shutdown</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersset-host-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageothersset-host-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageothersset-host-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/set-host/ title="Host Address Custom Exposure" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersset-host><span>Host address custom exposure</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-management-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-management-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-management-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/logger-management/ title="Log Framework Adaptation and Runtime Management" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-management><span>Log framework adaptation and runtime management</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersdubbo-kubernetes-probe-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageothersdubbo-kubernetes-probe-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageothersdubbo-kubernetes-probe-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/dubbo-kubernetes-probe/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersdubbo-kubernetes-probe><span>Kubernetes Probe</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersdocker-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageothersdocker-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageothersdocker-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/docker/ title="Dubbo deploy to Docker environment" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageothersdocker><span>Docker Deploy</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-howto-li><input type=checkbox id=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-howto-check>
<label for=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-howto-check><a href=/en/docs3-v2/java-sdk/advanced-features-and-usage/others/logger-howto/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkadvanced-features-and-usageotherslogger-howto><span>Logging Framework Configuration and Usage</span></a></label></li></ul></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manual-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manual-check>
<label for=m-endocs3-v2java-sdkreference-manual-check><a href=/en/docs3-v2/java-sdk/reference-manual/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manual><span>Reference Manual</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualconfig-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfig-check>
<label for=m-endocs3-v2java-sdkreference-manualconfig-check><a href=/en/docs3-v2/java-sdk/reference-manual/config/ title="Configuration Manual" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualconfig><span>Configuration instructions</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfigoverview-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfigoverview-check>
<label for=m-endocs3-v2java-sdkreference-manualconfigoverview-check><a href=/en/docs3-v2/java-sdk/reference-manual/config/overview/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfigoverview><span>Configuration Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfigapi-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfigapi-check>
<label for=m-endocs3-v2java-sdkreference-manualconfigapi-check><a href=/en/docs3-v2/java-sdk/reference-manual/config/api/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfigapi><span>API Configuration</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfigannotation-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfigannotation-check>
<label for=m-endocs3-v2java-sdkreference-manualconfigannotation-check><a href=/en/docs3-v2/java-sdk/reference-manual/config/annotation/ title="Annotation configuration" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfigannotation><span>Annotation Configuration</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfigxml-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfigxml-check>
<label for=m-endocs3-v2java-sdkreference-manualconfigxml-check><a href=/en/docs3-v2/java-sdk/reference-manual/config/xml/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfigxml><span>XML Configuration</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfigprinciple-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfigprinciple-check>
<label for=m-endocs3-v2java-sdkreference-manualconfigprinciple-check><a href=/en/docs3-v2/java-sdk/reference-manual/config/principle/ title="How Configuration Works" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfigprinciple><span>How configuration works</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfigproperties-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfigproperties-check>
<label for=m-endocs3-v2java-sdkreference-manualconfigproperties-check><a href=/en/docs3-v2/java-sdk/reference-manual/config/properties/ title="Configuration Item Reference Manual" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfigproperties><span>Configuration Item Manual</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualqos-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqos-check>
<label for=m-endocs3-v2java-sdkreference-manualqos-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualqos><span>QOS Operation Manual</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqosoverview-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqosoverview-check>
<label for=m-endocs3-v2java-sdkreference-manualqosoverview-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/overview/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqosoverview><span>QOS Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqoscommand-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqoscommand-check>
<label for=m-endocs3-v2java-sdkreference-manualqoscommand-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/command/ title="Basic Command Manual" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqoscommand><span>Basic command manual</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqosservice-management-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqosservice-management-check>
<label for=m-endocs3-v2java-sdkreference-manualqosservice-management-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/service-management/ title="Service Management Commands" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqosservice-management><span>Service Management Command</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqosprobe-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqosprobe-check>
<label for=m-endocs3-v2java-sdkreference-manualqosprobe-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/probe/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqosprobe><span>Frame State Command</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqoslogger-management-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqoslogger-management-check>
<label for=m-endocs3-v2java-sdkreference-manualqoslogger-management-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/logger-management/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqoslogger-management><span>Logging framework runtime management</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqosprofiler-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqosprofiler-check>
<label for=m-endocs3-v2java-sdkreference-manualqosprofiler-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/profiler/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqosprofiler><span>Performance Sampling Command</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqosrouter-snapshot-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqosrouter-snapshot-check>
<label for=m-endocs3-v2java-sdkreference-manualqosrouter-snapshot-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/router-snapshot/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqosrouter-snapshot><span>Routing Status Command</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualqossecurity-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualqossecurity-check>
<label for=m-endocs3-v2java-sdkreference-manualqossecurity-check><a href=/en/docs3-v2/java-sdk/reference-manual/qos/security/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualqossecurity><span>Serialization Security Audit</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualprotocol-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocol-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocol-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/ title="RPC protocol" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualprotocol><span>RPC Protocol</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoloverview-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoloverview-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoloverview-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/overview/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoloverview><span>Protocol Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoldubbo-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoldubbo-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoldubbo-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/dubbo/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoldubbo><span>Dubbo protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualprotocoltriple-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoltriple-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoltriple-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/triple/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualprotocoltriple><span>Triple Protocol</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoltripleoverview-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoltripleoverview-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoltripleoverview-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/triple/overview/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoltripleoverview><span>Protocol Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoltripleguide-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoltripleguide-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoltripleguide-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/triple/guide/ title="Instructions for Use" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoltripleguide><span>Instructions for use</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoltriplepojo-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoltriplepojo-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoltriplepojo-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/triple/pojo/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoltriplepojo><span>POJO way to use Triple</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoltripleidl-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoltripleidl-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoltripleidl-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/triple/idl/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoltripleidl><span>Using Triple in IDL</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoltriplemigration-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoltriplemigration-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoltriplemigration-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/triple/migration/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoltriplemigration><span>Dubbo2 Protocol Migration</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocoltriplestreaming-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocoltriplestreaming-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocoltriplestreaming-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/triple/streaming/ title="Streaming Communication" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocoltriplestreaming><span>Streaming communication</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolrest-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolrest-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolrest-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/rest/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolrest><span>Rest protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolgrpc-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolgrpc-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolgrpc-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/grpc/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolgrpc><span>gRPC Protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolhttp-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolhttp-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolhttp-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/http/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolhttp><span>HTTP protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolthrift-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolthrift-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolthrift-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/thrift/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolthrift><span>Thrift protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolrmi-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolrmi-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolrmi-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/rmi/ title="Rmi agreement" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolrmi><span>Rmi Agreement</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolredis-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolredis-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolredis-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/redis/ title="Redis protocol" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolredis><span>Redis Protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolhessian-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolhessian-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolhessian-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/hessian/ title="Hessian Agreement" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolhessian><span>Hessian Protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolwebservice-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolwebservice-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolwebservice-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/webservice/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolwebservice><span>Webservice protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualprotocolmemcached-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualprotocolmemcached-check>
<label for=m-endocs3-v2java-sdkreference-manualprotocolmemcached-check><a href=/en/docs3-v2/java-sdk/reference-manual/protocol/memcached/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualprotocolmemcached><span>Memcached protocol</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualregistry-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistry-check>
<label for=m-endocs3-v2java-sdkreference-manualregistry-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/ title="Registration Center Description" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualregistry><span>Description of Registration Center</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualregistryoverview-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistryoverview-check>
<label for=m-endocs3-v2java-sdkreference-manualregistryoverview-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/overview/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualregistryoverview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualregistryzookeeper-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistryzookeeper-check>
<label for=m-endocs3-v2java-sdkreference-manualregistryzookeeper-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/zookeeper/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualregistryzookeeper><span>Zookeeper</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualregistrynacos-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistrynacos-check>
<label for=m-endocs3-v2java-sdkreference-manualregistrynacos-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/nacos/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualregistrynacos><span>Nacos</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualregistrymulticast-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistrymulticast-check>
<label for=m-endocs3-v2java-sdkreference-manualregistrymulticast-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/multicast/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualregistrymulticast><span>Multicast</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualregistryredis-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistryredis-check>
<label for=m-endocs3-v2java-sdkreference-manualregistryredis-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/redis/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualregistryredis><span>Redis</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualregistrymultiple-registry-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistrymultiple-registry-check>
<label for=m-endocs3-v2java-sdkreference-manualregistrymultiple-registry-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/multiple-registry/ title="Multiple Registries" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualregistrymultiple-registry><span>Multiple Registration Centers</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualregistrysimple-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualregistrysimple-check>
<label for=m-endocs3-v2java-sdkreference-manualregistrysimple-check><a href=/en/docs3-v2/java-sdk/reference-manual/registry/simple/ title="Simple Registry" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualregistrysimple><span>Simple</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualmetadata-center-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualmetadata-center-check>
<label for=m-endocs3-v2java-sdkreference-manualmetadata-center-check><a href=/en/docs3-v2/java-sdk/reference-manual/metadata-center/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualmetadata-center><span>Metadata Center</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualmetadata-centeroverview-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualmetadata-centeroverview-check>
<label for=m-endocs3-v2java-sdkreference-manualmetadata-centeroverview-check><a href=/en/docs3-v2/java-sdk/reference-manual/metadata-center/overview/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualmetadata-centeroverview><span>Overview of Metadata Center</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualmetadata-centernacos-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualmetadata-centernacos-check>
<label for=m-endocs3-v2java-sdkreference-manualmetadata-centernacos-check><a href=/en/docs3-v2/java-sdk/reference-manual/metadata-center/nacos/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualmetadata-centernacos><span>Nacos</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualmetadata-centerzookeeper-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualmetadata-centerzookeeper-check>
<label for=m-endocs3-v2java-sdkreference-manualmetadata-centerzookeeper-check><a href=/en/docs3-v2/java-sdk/reference-manual/metadata-center/zookeeper/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualmetadata-centerzookeeper><span>Zookeeper</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualmetadata-centerredis-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualmetadata-centerredis-check>
<label for=m-endocs3-v2java-sdkreference-manualmetadata-centerredis-check><a href=/en/docs3-v2/java-sdk/reference-manual/metadata-center/redis/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualmetadata-centerredis><span>Redis</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualconfig-center-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfig-center-check>
<label for=m-endocs3-v2java-sdkreference-manualconfig-center-check><a href=/en/docs3-v2/java-sdk/reference-manual/config-center/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualconfig-center><span>Configuration Center</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfig-centerzookeeper-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfig-centerzookeeper-check>
<label for=m-endocs3-v2java-sdkreference-manualconfig-centerzookeeper-check><a href=/en/docs3-v2/java-sdk/reference-manual/config-center/zookeeper/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfig-centerzookeeper><span>Zookeeper</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfig-centernacos-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfig-centernacos-check>
<label for=m-endocs3-v2java-sdkreference-manualconfig-centernacos-check><a href=/en/docs3-v2/java-sdk/reference-manual/config-center/nacos/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfig-centernacos><span>Nacos</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualconfig-centerapollo-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualconfig-centerapollo-check>
<label for=m-endocs3-v2java-sdkreference-manualconfig-centerapollo-check><a href=/en/docs3-v2/java-sdk/reference-manual/config-center/apollo/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualconfig-centerapollo><span>Apollo</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualmesh-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualmesh-check>
<label for=m-endocs3-v2java-sdkreference-manualmesh-check><a href=/en/docs3-v2/java-sdk/reference-manual/mesh/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualmesh><span>Mesh Manual</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualmeshmesh-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualmeshmesh-check>
<label for=m-endocs3-v2java-sdkreference-manualmeshmesh-check><a href=/en/docs3-v2/java-sdk/reference-manual/mesh/mesh/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualmeshmesh><span>Debug Reference Documentation</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualperformance-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualperformance-check>
<label for=m-endocs3-v2java-sdkreference-manualperformance-check><a href=/en/docs3-v2/java-sdk/reference-manual/performance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualperformance><span>Performance Reference Manual</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualperformancebenchmarking-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualperformancebenchmarking-check>
<label for=m-endocs3-v2java-sdkreference-manualperformancebenchmarking-check><a href=/en/docs3-v2/java-sdk/reference-manual/performance/benchmarking/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualperformancebenchmarking><span>Application-Level Service Discovery Benchmark</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualperformancerpc-benchmarking-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualperformancerpc-benchmarking-check>
<label for=m-endocs3-v2java-sdkreference-manualperformancerpc-benchmarking-check><a href=/en/docs3-v2/java-sdk/reference-manual/performance/rpc-benchmarking/ title="RPC Protocol Triple&amp;Dubbo Benchmark" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualperformancerpc-benchmarking><span>RPC Benchmark</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualspi-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspi-check>
<label for=m-endocs3-v2java-sdkreference-manualspi-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualspi><span>SPI Extension Manual</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspioverview-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspioverview-check>
<label for=m-endocs3-v2java-sdkreference-manualspioverview-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/overview/ title="Dubbo SPI Overview" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspioverview><span>Dubbo SPI overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkreference-manualspidescription-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescription-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescription-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkreference-manualspidescription><span>Dubbo SPI extension implementation description</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionprotocol-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionprotocol-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionprotocol-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionprotocol><span>Protocol Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionfilter-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionfilter-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionfilter-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/filter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionfilter><span>Call Intercept Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptioninvoker-listener-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptioninvoker-listener-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptioninvoker-listener-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/invoker-listener/ title="Reference Listener Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptioninvoker-listener><span>Reference listener extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionexporter-listener-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionexporter-listener-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionexporter-listener-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/exporter-listener/ title="Expose Listener Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionexporter-listener><span>Expose listener extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptioncluster-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptioncluster-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptioncluster-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/cluster/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptioncluster><span>Cluster Expansion</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionrouter-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionrouter-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionrouter-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/router/ title="Route Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionrouter><span>Routing Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionload-balance-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionload-balance-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionload-balance-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/load-balance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionload-balance><span>Load Balancing Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionmerger-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionmerger-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionmerger-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/merger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionmerger><span>Merge result extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionregistry-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionregistry-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionregistry-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionregistry><span>Registry Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionmonitor-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionmonitor-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionmonitor-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/monitor/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionmonitor><span>Monitoring Center Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionextension-factory-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionextension-factory-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionextension-factory-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/extension-factory/ title="Extension Point Load Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionextension-factory><span>Extension point load extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionproxy-factory-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionproxy-factory-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionproxy-factory-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/proxy-factory/ title="Dynamic Proxy Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionproxy-factory><span>Dynamic proxy extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionreadiness-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionreadiness-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionreadiness-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/readiness/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionreadiness><span>Readiness Probe</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionstartup-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionstartup-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionstartup-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/startup/ title="Startup Startup Probe" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionstartup><span>Start Probe</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionliveness-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionliveness-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionliveness-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/liveness/ title="Liveness Survival Probe" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionliveness><span>Survival Probe</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptioncompiler-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptioncompiler-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptioncompiler-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/compiler/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptioncompiler><span>Compiler Extensions</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionconfig-center-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionconfig-center-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionconfig-center-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/config-center/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionconfig-center><span>Configuration Center Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionmetadata-report-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionmetadata-report-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionmetadata-report-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/metadata-report/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionmetadata-report><span>Metadata Center Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptiondispatcher-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptiondispatcher-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptiondispatcher-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/dispatcher/ title="Message Dispatch Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptiondispatcher><span>Message dispatch extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionthreadpool-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionthreadpool-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionthreadpool-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/threadpool/ title="Thread Pool Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionthreadpool><span>Thread pool extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionserialize-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionserialize-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionserialize-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/serialize/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionserialize><span>Serialization Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionremoting-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionremoting-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionremoting-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/remoting/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionremoting><span>Network Transport Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionexchanger-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionexchanger-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionexchanger-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/exchanger/ title="Information Exchange Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionexchanger><span>Information exchange extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionnetworker-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionnetworker-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionnetworker-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/networker/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionnetworker><span>Network Expansion</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionpage-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionpage-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionpage-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/page/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionpage><span>Peer-to-peer network node builder extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptiontelnet-handler-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptiontelnet-handler-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptiontelnet-handler-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/telnet-handler/ title="Telnet Command Extensions" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptiontelnet-handler><span>Telnet command extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionstatus-checker-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionstatus-checker-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionstatus-checker-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/status-checker/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionstatus-checker><span>Status Check Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptioncontainer-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptioncontainer-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptioncontainer-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/container/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptioncontainer><span>Container Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptioncache-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptioncache-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptioncache-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/cache/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptioncache><span>Cache Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionvalidation-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionvalidation-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionvalidation-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/validation/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionvalidation><span>Authentication Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionlogger-adapter-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionlogger-adapter-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionlogger-adapter-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/logger-adapter/ title="Log Adaptation Extension" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionlogger-adapter><span>Log adaptation extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptionqos-permission-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptionqos-permission-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptionqos-permission-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/qos-permission/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptionqos-permission><span>QoS Anonymous Access Verification Extension</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkreference-manualspidescriptiondubbo-spi-li><input type=checkbox id=m-endocs3-v2java-sdkreference-manualspidescriptiondubbo-spi-check>
<label for=m-endocs3-v2java-sdkreference-manualspidescriptiondubbo-spi-check><a href=/en/docs3-v2/java-sdk/reference-manual/spi/description/dubbo-spi/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkreference-manualspidescriptiondubbo-spi><span>Extension Point Development Guide</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-endocs3-v2java-sdkupgrades-and-compatibility-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibility-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibility-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkupgrades-and-compatibility><span>Upgrade Compatibility</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibility2x-to-3x-compatibility-guide-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibility2x-to-3x-compatibility-guide-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibility2x-to-3x-compatibility-guide-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/2.x-to-3.x-compatibility-guide/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibility2x-to-3x-compatibility-guide><span>2.x to 3.x Operation Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibilitymigration-triple-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibilitymigration-triple-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibilitymigration-triple-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/migration-triple/ title="Guide to Migrating Dubbo Protocol to Triple Protocol" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibilitymigration-triple><span>Guide to migrating Dubbo protocol to Triple protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibility31-to-32-compatibility-guide-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibility31-to-32-compatibility-guide-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibility31-to-32-compatibility-guide-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/3.1-to-3.2-compatibility-guide/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibility31-to-32-compatibility-guide><span>3.1 upgrade to 3.2</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discovery-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discovery-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discovery-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/service-discovery/ title="Application Level Service Discovery" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discovery><span>Application-Level Service Discovery</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-samples-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-samples-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-samples-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/service-discovery/service-discovery-samples/ title="Application-Level Service Discovery Migration Example" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-samples><span>Application-level service discovery migration example</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoverymigration-service-discovery-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoverymigration-service-discovery-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoverymigration-service-discovery-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/service-discovery/migration-service-discovery/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoverymigration-service-discovery><span>Guidelines for migrating interface-level service discovery to application-level service discovery</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-rule-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-rule-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-rule-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/service-discovery/service-discovery-rule/ title="Application-level Service Discovery Address Migration Rules Description" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibilityservice-discoveryservice-discovery-rule><span>Application-level service discovery address migration rules</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibilityserialization-upgrade-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibilityserialization-upgrade-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibilityserialization-upgrade-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/serialization-upgrade/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibilityserialization-upgrade><span>Serialization Protocol Upgrade Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibilityprotobufinterface-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibilityprotobufinterface-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibilityprotobufinterface-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/protobufinterface/ title="Comparison of Protobuf and Interface" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibilityprotobufinterface><span>Protobuf vs Interface</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkupgrades-and-compatibility30-to-31-compatibility-guide-li><input type=checkbox id=m-endocs3-v2java-sdkupgrades-and-compatibility30-to-31-compatibility-guide-check>
<label for=m-endocs3-v2java-sdkupgrades-and-compatibility30-to-31-compatibility-guide-check><a href=/en/docs3-v2/java-sdk/upgrades-and-compatibility/3.0-to-3.1-compatibility-guide/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkupgrades-and-compatibility30-to-31-compatibility-guide><span>3.0 to 3.1 Operation Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq-li><input type=checkbox id=m-endocs3-v2java-sdkfaq-check>
<label for=m-endocs3-v2java-sdkfaq-check><a href=/en/docs3-v2/java-sdk/faq/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq><span>FAQ</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq0-li><input type=checkbox id=m-endocs3-v2java-sdkfaq0-check>
<label for=m-endocs3-v2java-sdkfaq0-check><a href=/en/docs3-v2/java-sdk/faq/0/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq0><span>0 - Common</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq01-li><input type=checkbox id=m-endocs3-v2java-sdkfaq01-check>
<label for=m-endocs3-v2java-sdkfaq01-check><a href=/en/docs3-v2/java-sdk/faq/0/1/ title="0-1 - thread pool resource exhausted" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq01><span>0-1 - thread pool resources exhausted</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq02-li><input type=checkbox id=m-endocs3-v2java-sdkfaq02-check>
<label for=m-endocs3-v2java-sdkfaq02-check><a href=/en/docs3-v2/java-sdk/faq/0/2/ title="0-2 - Illegal property value" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq02><span>0-2 - Illegal attribute value</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq03-li><input type=checkbox id=m-endocs3-v2java-sdkfaq03-check>
<label for=m-endocs3-v2java-sdkfaq03-check><a href=/en/docs3-v2/java-sdk/faq/0/3/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq03><span>0-3 - Unable to access cache path</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq04-li><input type=checkbox id=m-endocs3-v2java-sdkfaq04-check>
<label for=m-endocs3-v2java-sdkfaq04-check><a href=/en/docs3-v2/java-sdk/faq/0/4/ title="0-4 - cache entry exceeded" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq04><span>0-4 - Cache entry limit exceeded</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq05-li><input type=checkbox id=m-endocs3-v2java-sdkfaq05-check>
<label for=m-endocs3-v2java-sdkfaq05-check><a href=/en/docs3-v2/java-sdk/faq/0/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq05><span>0-5 - Cache file size exceeded</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq06-li><input type=checkbox id=m-endocs3-v2java-sdkfaq06-check>
<label for=m-endocs3-v2java-sdkfaq06-check><a href=/en/docs3-v2/java-sdk/faq/0/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq06><span>0-6 - Thread interruption exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq07-li><input type=checkbox id=m-endocs3-v2java-sdkfaq07-check>
<label for=m-endocs3-v2java-sdkfaq07-check><a href=/en/docs3-v2/java-sdk/faq/0/7/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq07><span>0-7 - Reflection class not found</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq08-li><input type=checkbox id=m-endocs3-v2java-sdkfaq08-check>
<label for=m-endocs3-v2java-sdkfaq08-check><a href=/en/docs3-v2/java-sdk/faq/0/8/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq08><span>0-8 - reflection failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq09-li><input type=checkbox id=m-endocs3-v2java-sdkfaq09-check>
<label for=m-endocs3-v2java-sdkfaq09-check><a href=/en/docs3-v2/java-sdk/faq/0/9/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq09><span>0-9 - Failed to notify event</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq010-li><input type=checkbox id=m-endocs3-v2java-sdkfaq010-check>
<label for=m-endocs3-v2java-sdkfaq010-check><a href=/en/docs3-v2/java-sdk/faq/0/10/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq010><span>0-10 - The current call is no longer supported</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq011-li><input type=checkbox id=m-endocs3-v2java-sdkfaq011-check>
<label for=m-endocs3-v2java-sdkfaq011-check><a href=/en/docs3-v2/java-sdk/faq/0/11/ title="0-11 - Service stop failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq011><span>0-11 - Service stop failure</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq012-li><input type=checkbox id=m-endocs3-v2java-sdkfaq012-check>
<label for=m-endocs3-v2java-sdkfaq012-check><a href=/en/docs3-v2/java-sdk/faq/0/12/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq012><span>0-12 - Unknown exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq013-li><input type=checkbox id=m-endocs3-v2java-sdkfaq013-check>
<label for=m-endocs3-v2java-sdkfaq013-check><a href=/en/docs3-v2/java-sdk/faq/0/13/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq013><span>0-13 - An exception occurred in the metrics collector</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq014-li><input type=checkbox id=m-endocs3-v2java-sdkfaq014-check>
<label for=m-endocs3-v2java-sdkfaq014-check><a href=/en/docs3-v2/java-sdk/faq/0/14/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq014><span>0-14 - Monitoring exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq015-li><input type=checkbox id=m-endocs3-v2java-sdkfaq015-check>
<label for=m-endocs3-v2java-sdkfaq015-check><a href=/en/docs3-v2/java-sdk/faq/0/15/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq015><span>0-15 - An exception occurred while loading the extension class</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq016-li><input type=checkbox id=m-endocs3-v2java-sdkfaq016-check>
<label for=m-endocs3-v2java-sdkfaq016-check><a href=/en/docs3-v2/java-sdk/faq/0/16/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq016><span>0-16 - No actuators available</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq017-li><input type=checkbox id=m-endocs3-v2java-sdkfaq017-check>
<label for=m-endocs3-v2java-sdkfaq017-check><a href=/en/docs3-v2/java-sdk/faq/0/17/ title="0-17 - Actuator encountered an unknown exception while shutting down" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq017><span>0-17 - An unknown exception occurred while the actuator was shutting down</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq018-li><input type=checkbox id=m-endocs3-v2java-sdkfaq018-check>
<label for=m-endocs3-v2java-sdkfaq018-check><a href=/en/docs3-v2/java-sdk/faq/0/18/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq018><span>0-18 - thread pool executor is misused</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq019-li><input type=checkbox id=m-endocs3-v2java-sdkfaq019-check>
<label for=m-endocs3-v2java-sdkfaq019-check><a href=/en/docs3-v2/java-sdk/faq/0/19/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq019><span>0-19 - An exception occurred while processing the task</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq020-li><input type=checkbox id=m-endocs3-v2java-sdkfaq020-check>
<label for=m-endocs3-v2java-sdkfaq020-check><a href=/en/docs3-v2/java-sdk/faq/0/20/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq020><span>0-20 - An exception occurred while storing stack information</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq021-li><input type=checkbox id=m-endocs3-v2java-sdkfaq021-check>
<label for=m-endocs3-v2java-sdkfaq021-check><a href=/en/docs3-v2/java-sdk/faq/0/21/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq021><span>0-21 - Too many instances built</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq022-li><input type=checkbox id=m-endocs3-v2java-sdkfaq022-check>
<label for=m-endocs3-v2java-sdkfaq022-check><a href=/en/docs3-v2/java-sdk/faq/0/22/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq022><span>0-22 - I/O stream exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq023-li><input type=checkbox id=m-endocs3-v2java-sdkfaq023-check>
<label for=m-endocs3-v2java-sdkfaq023-check><a href=/en/docs3-v2/java-sdk/faq/0/23/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq023><span>0-23 - Serialized data conversion exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq024-li><input type=checkbox id=m-endocs3-v2java-sdkfaq024-check>
<label for=m-endocs3-v2java-sdkfaq024-check><a href=/en/docs3-v2/java-sdk/faq/0/24/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq024><span>0-24 - Override field value exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq025-li><input type=checkbox id=m-endocs3-v2java-sdkfaq025-check>
<label for=m-endocs3-v2java-sdkfaq025-check><a href=/en/docs3-v2/java-sdk/faq/0/25/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq025><span>0-25 - Error loading map</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq026-li><input type=checkbox id=m-endocs3-v2java-sdkfaq026-check>
<label for=m-endocs3-v2java-sdkfaq026-check><a href=/en/docs3-v2/java-sdk/faq/0/26/ title="0-26 - Warning message when metadata is published to the service" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq026><span>0-26 - Warning message when metadata publishing service</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq027-li><input type=checkbox id=m-endocs3-v2java-sdkfaq027-check>
<label for=m-endocs3-v2java-sdkfaq027-check><a href=/en/docs3-v2/java-sdk/faq/0/27/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq027><span>0-27 - Thread pool isolation configuration exception</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq1-li><input type=checkbox id=m-endocs3-v2java-sdkfaq1-check>
<label for=m-endocs3-v2java-sdkfaq1-check><a href=/en/docs3-v2/java-sdk/faq/1/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq1><span>1 - Registry</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq11-li><input type=checkbox id=m-endocs3-v2java-sdkfaq11-check>
<label for=m-endocs3-v2java-sdkfaq11-check><a href=/en/docs3-v2/java-sdk/faq/1/1/ title="1-1 - Address Illegal" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq11><span>1-1 - Illegal address</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq13-li><input type=checkbox id=m-endocs3-v2java-sdkfaq13-check>
<label for=m-endocs3-v2java-sdkfaq13-check><a href=/en/docs3-v2/java-sdk/faq/1/3/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq13><span>1-3 - URL destruction failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq14-li><input type=checkbox id=m-endocs3-v2java-sdkfaq14-check>
<label for=m-endocs3-v2java-sdkfaq14-check><a href=/en/docs3-v2/java-sdk/faq/1/4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq14><span>1-4 - Empty address</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq15-li><input type=checkbox id=m-endocs3-v2java-sdkfaq15-check>
<label for=m-endocs3-v2java-sdkfaq15-check><a href=/en/docs3-v2/java-sdk/faq/1/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq15><span>1-5 - URL received without any parameters</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq16-li><input type=checkbox id=m-endocs3-v2java-sdkfaq16-check>
<label for=m-endocs3-v2java-sdkfaq16-check><a href=/en/docs3-v2/java-sdk/faq/1/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq16><span>1-6 - Error clearing URL cache</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq17-li><input type=checkbox id=m-endocs3-v2java-sdkfaq17-check>
<label for=m-endocs3-v2java-sdkfaq17-check><a href=/en/docs3-v2/java-sdk/faq/1/7/ title="1-7 - Notification registration event failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq17><span>1-7 - Failed to read and write registry service cache</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq18-li><input type=checkbox id=m-endocs3-v2java-sdkfaq18-check>
<label for=m-endocs3-v2java-sdkfaq18-check><a href=/en/docs3-v2/java-sdk/faq/1/8/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq18><span>1-8 - Unregister (unsubscribe) address failed on destroy</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq19-li><input type=checkbox id=m-endocs3-v2java-sdkfaq19-check>
<label for=m-endocs3-v2java-sdkfaq19-check><a href=/en/docs3-v2/java-sdk/faq/1/9/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq19><span>1-9 - Failed to read and write registry service cache</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq110-li><input type=checkbox id=m-endocs3-v2java-sdkfaq110-check>
<label for=m-endocs3-v2java-sdkfaq110-check><a href=/en/docs3-v2/java-sdk/faq/1/10/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq110><span>1-10 - Failed to read and write registry service cache</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq111-li><input type=checkbox id=m-endocs3-v2java-sdkfaq111-check>
<label for=m-endocs3-v2java-sdkfaq111-check><a href=/en/docs3-v2/java-sdk/faq/1/11/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq111><span>1-11 - Registration service instance creation failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq112-li><input type=checkbox id=m-endocs3-v2java-sdkfaq112-check>
<label for=m-endocs3-v2java-sdkfaq112-check><a href=/en/docs3-v2/java-sdk/faq/1/12/ title='1-12 - Instances of "Registry Service" have been destroyed' class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq112><span>1-12 - Instances of "Registration Service" have been destroyed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq113-li><input type=checkbox id=m-endocs3-v2java-sdkfaq113-check>
<label for=m-endocs3-v2java-sdkfaq113-check><a href=/en/docs3-v2/java-sdk/faq/1/13/ title="1-13 - Failed to execute task retry" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq113><span>1-13 - Failed to execute retry task</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq114-li><input type=checkbox id=m-endocs3-v2java-sdkfaq114-check>
<label for=m-endocs3-v2java-sdkfaq114-check><a href=/en/docs3-v2/java-sdk/faq/1/14/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq114><span>1-14 - Dynamic configuration recognition failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq115-li><input type=checkbox id=m-endocs3-v2java-sdkfaq115-check>
<label for=m-endocs3-v2java-sdkfaq115-check><a href=/en/docs3-v2/java-sdk/faq/1/15/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq115><span>1-15 - Failed to destroy service</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq116-li><input type=checkbox id=m-endocs3-v2java-sdkfaq116-check>
<label for=m-endocs3-v2java-sdkfaq116-check><a href=/en/docs3-v2/java-sdk/faq/1/16/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq116><span>1-16 - There are unsupported categories</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq117-li><input type=checkbox id=m-endocs3-v2java-sdkfaq117-check>
<label for=m-endocs3-v2java-sdkfaq117-check><a href=/en/docs3-v2/java-sdk/faq/1/17/ title="1-17 - Metadata Server Failure" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq117><span>1-17 - Metadata Server failure</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq118-li><input type=checkbox id=m-endocs3-v2java-sdkfaq118-check>
<label for=m-endocs3-v2java-sdkfaq118-check><a href=/en/docs3-v2/java-sdk/faq/1/18/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq118><span>1-18 - metadata service port not provided</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq119-li><input type=checkbox id=m-endocs3-v2java-sdkfaq119-check>
<label for=m-endocs3-v2java-sdkfaq119-check><a href=/en/docs3-v2/java-sdk/faq/1/19/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq119><span>1-19 - K8S monitoring exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq120-li><input type=checkbox id=m-endocs3-v2java-sdkfaq120-check>
<label for=m-endocs3-v2java-sdkfaq120-check><a href=/en/docs3-v2/java-sdk/faq/1/20/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq120><span>1-20 - K8S Pod does not exist</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq121-li><input type=checkbox id=m-endocs3-v2java-sdkfaq121-check>
<label for=m-endocs3-v2java-sdkfaq121-check><a href=/en/docs3-v2/java-sdk/faq/1/21/ title="1-21 - K8S No Service Available" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq121><span>1-21 - No service available for K8S</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq122-li><input type=checkbox id=m-endocs3-v2java-sdkfaq122-check>
<label for=m-endocs3-v2java-sdkfaq122-check><a href=/en/docs3-v2/java-sdk/faq/1/22/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq122><span>1-22 - K8S configuration address error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq123-li><input type=checkbox id=m-endocs3-v2java-sdkfaq123-check>
<label for=m-endocs3-v2java-sdkfaq123-check><a href=/en/docs3-v2/java-sdk/faq/1/23/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq123><span>1-23 - Unable to download files via url</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq124-li><input type=checkbox id=m-endocs3-v2java-sdkfaq124-check>
<label for=m-endocs3-v2java-sdkfaq124-check><a href=/en/docs3-v2/java-sdk/faq/1/24/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq124><span>1-24 - ZK startup exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq125-li><input type=checkbox id=m-endocs3-v2java-sdkfaq125-check>
<label for=m-endocs3-v2java-sdkfaq125-check><a href=/en/docs3-v2/java-sdk/faq/1/25/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq125><span>1-25 - ZK destruction exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq126-li><input type=checkbox id=m-endocs3-v2java-sdkfaq126-check>
<label for=m-endocs3-v2java-sdkfaq126-check><a href=/en/docs3-v2/java-sdk/faq/1/26/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq126><span>1-26 - xDS certificate generation failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq127-li><input type=checkbox id=m-endocs3-v2java-sdkfaq127-check>
<label for=m-endocs3-v2java-sdkfaq127-check><a href=/en/docs3-v2/java-sdk/faq/1/27/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq127><span>1-27 - K8S monitoring exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq128-li><input type=checkbox id=m-endocs3-v2java-sdkfaq128-check>
<label for=m-endocs3-v2java-sdkfaq128-check><a href=/en/docs3-v2/java-sdk/faq/1/28/ title="1-28 - xDS Stub Error" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq128><span>1-28 - xDS stub error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq129-li><input type=checkbox id=m-endocs3-v2java-sdkfaq129-check>
<label for=m-endocs3-v2java-sdkfaq129-check><a href=/en/docs3-v2/java-sdk/faq/1/29/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq129><span>1-29 - xDS failed to read file</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq130-li><input type=checkbox id=m-endocs3-v2java-sdkfaq130-check>
<label for=m-endocs3-v2java-sdkfaq130-check><a href=/en/docs3-v2/java-sdk/faq/1/30/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq130><span>1-30 - xDS request failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq131-li><input type=checkbox id=m-endocs3-v2java-sdkfaq131-check>
<label for=m-endocs3-v2java-sdkfaq131-check><a href=/en/docs3-v2/java-sdk/faq/1/31/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq131><span>1-31 - xDS Response Failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq132-li><input type=checkbox id=m-endocs3-v2java-sdkfaq132-check>
<label for=m-endocs3-v2java-sdkfaq132-check><a href=/en/docs3-v2/java-sdk/faq/1/32/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq132><span>1-32 - xDS Channel initialization failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq133-li><input type=checkbox id=m-endocs3-v2java-sdkfaq133-check>
<label for=m-endocs3-v2java-sdkfaq133-check><a href=/en/docs3-v2/java-sdk/faq/1/33/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq133><span>1-33 - xDS service discovery initialization failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq134-li><input type=checkbox id=m-endocs3-v2java-sdkfaq134-check>
<label for=m-endocs3-v2java-sdkfaq134-check><a href=/en/docs3-v2/java-sdk/faq/1/34/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq134><span>1-34 - Error parsing xDS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq135-li><input type=checkbox id=m-endocs3-v2java-sdkfaq135-check>
<label for=m-endocs3-v2java-sdkfaq135-check><a href=/en/docs3-v2/java-sdk/faq/1/35/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq135><span>1-35 - ZK Anomaly</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq136-li><input type=checkbox id=m-endocs3-v2java-sdkfaq136-check>
<label for=m-endocs3-v2java-sdkfaq136-check><a href=/en/docs3-v2/java-sdk/faq/1/36/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq136><span>1-36 - Unknown exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq137-li><input type=checkbox id=m-endocs3-v2java-sdkfaq137-check>
<label for=m-endocs3-v2java-sdkfaq137-check><a href=/en/docs3-v2/java-sdk/faq/1/37/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq137><span>1-37 - Nacos Anomaly</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq138-li><input type=checkbox id=m-endocs3-v2java-sdkfaq138-check>
<label for=m-endocs3-v2java-sdkfaq138-check><a href=/en/docs3-v2/java-sdk/faq/1/38/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq138><span>1-38 - Socket connection exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq139-li><input type=checkbox id=m-endocs3-v2java-sdkfaq139-check>
<label for=m-endocs3-v2java-sdkfaq139-check><a href=/en/docs3-v2/java-sdk/faq/1/39/ title="1-39 - Failed to fetch metadata" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq139><span>1-39 - Failed to get metadata</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq140-li><input type=checkbox id=m-endocs3-v2java-sdkfaq140-check>
<label for=m-endocs3-v2java-sdkfaq140-check><a href=/en/docs3-v2/java-sdk/faq/1/40/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq140><span>1-40 - Route waiting too long</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq141-li><input type=checkbox id=m-endocs3-v2java-sdkfaq141-check>
<label for=m-endocs3-v2java-sdkfaq141-check><a href=/en/docs3-v2/java-sdk/faq/1/41/ title="1-41 - Istio exceptions" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq141><span>1-41 - Istio exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq142-li><input type=checkbox id=m-endocs3-v2java-sdkfaq142-check>
<label for=m-endocs3-v2java-sdkfaq142-check><a href=/en/docs3-v2/java-sdk/faq/1/42/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq142><span>1-42 - Nacos has a low version service</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq2-li><input type=checkbox id=m-endocs3-v2java-sdkfaq2-check>
<label for=m-endocs3-v2java-sdkfaq2-check><a href=/en/docs3-v2/java-sdk/faq/2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq2><span>2 - Routing</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq21-li><input type=checkbox id=m-endocs3-v2java-sdkfaq21-check>
<label for=m-endocs3-v2java-sdkfaq21-check><a href=/en/docs3-v2/java-sdk/faq/2/1/ title="2-1 - Routing execution failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq21><span>2-1 - Execution of routing address selection failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq211-li><input type=checkbox id=m-endocs3-v2java-sdkfaq211-check>
<label for=m-endocs3-v2java-sdkfaq211-check><a href=/en/docs3-v2/java-sdk/faq/2/11/ title="2-11 - Label Routing Rules Illegal" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq211><span>2-11 - Label routing rules are invalid</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq212-li><input type=checkbox id=m-endocs3-v2java-sdkfaq212-check>
<label for=m-endocs3-v2java-sdkfaq212-check><a href=/en/docs3-v2/java-sdk/faq/2/12/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq212><span>2-12 - Label route acquisition provider application name is empty</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq213-li><input type=checkbox id=m-endocs3-v2java-sdkfaq213-check>
<label for=m-endocs3-v2java-sdkfaq213-check><a href=/en/docs3-v2/java-sdk/faq/2/13/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq213><span>2-13 - Failed to receive and load mesh routing rules</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq215-li><input type=checkbox id=m-endocs3-v2java-sdkfaq215-check>
<label for=m-endocs3-v2java-sdkfaq215-check><a href=/en/docs3-v2/java-sdk/faq/2/15/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq215><span>2-15 - Routing rule parsing failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq214-li><input type=checkbox id=m-endocs3-v2java-sdkfaq214-check>
<label for=m-endocs3-v2java-sdkfaq214-check><a href=/en/docs3-v2/java-sdk/faq/2/14/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq214><span>2-15 - Script route execution failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq216-li><input type=checkbox id=m-endocs3-v2java-sdkfaq216-check>
<label for=m-endocs3-v2java-sdkfaq216-check><a href=/en/docs3-v2/java-sdk/faq/2/16/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq216><span>2-16 - Request retries failed multiple times</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq217-li><input type=checkbox id=m-endocs3-v2java-sdkfaq217-check>
<label for=m-endocs3-v2java-sdkfaq217-check><a href=/en/docs3-v2/java-sdk/faq/2/17/ title="2-17 - mock request failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq217><span>2-17 - Mock request failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq218-li><input type=checkbox id=m-endocs3-v2java-sdkfaq218-check>
<label for=m-endocs3-v2java-sdkfaq218-check><a href=/en/docs3-v2/java-sdk/faq/2/18/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq218><span>2-18 - Mesh routing rules are not monitored</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq219-li><input type=checkbox id=m-endocs3-v2java-sdkfaq219-check>
<label for=m-endocs3-v2java-sdkfaq219-check><a href=/en/docs3-v2/java-sdk/faq/2/19/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq219><span>2-19 - Asynchronous request failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq22-li><input type=checkbox id=m-endocs3-v2java-sdkfaq22-check>
<label for=m-endocs3-v2java-sdkfaq22-check><a href=/en/docs3-v2/java-sdk/faq/2/2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq22><span>2-2 - No Provider available (address not found)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq23-li><input type=checkbox id=m-endocs3-v2java-sdkfaq23-check>
<label for=m-endocs3-v2java-sdkfaq23-check><a href=/en/docs3-v2/java-sdk/faq/2/3/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq23><span>2-3 - Routing shutdown failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq24-li><input type=checkbox id=m-endocs3-v2java-sdkfaq24-check>
<label for=m-endocs3-v2java-sdkfaq24-check><a href=/en/docs3-v2/java-sdk/faq/2/4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq24><span>2-4 - Merger interface failed to load</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq25-li><input type=checkbox id=m-endocs3-v2java-sdkfaq25-check>
<label for=m-endocs3-v2java-sdkfaq25-check><a href=/en/docs3-v2/java-sdk/faq/2/5/ title="2-5 - Filter Provider Failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq25><span>2-5 - Screening providers failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq26-li><input type=checkbox id=m-endocs3-v2java-sdkfaq26-check>
<label for=m-endocs3-v2java-sdkfaq26-check><a href=/en/docs3-v2/java-sdk/faq/2/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq26><span>2-6 - Conditional routing filter provider list is empty</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq27-li><input type=checkbox id=m-endocs3-v2java-sdkfaq27-check>
<label for=m-endocs3-v2java-sdkfaq27-check><a href=/en/docs3-v2/java-sdk/faq/2/7/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq27><span>2-7 - Conditional routing execution exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq28-li><input type=checkbox id=m-endocs3-v2java-sdkfaq28-check>
<label for=m-endocs3-v2java-sdkfaq28-check><a href=/en/docs3-v2/java-sdk/faq/2/8/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq28><span>2-8 - The provider returned an abnormal response</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq29-li><input type=checkbox id=m-endocs3-v2java-sdkfaq29-check>
<label for=m-endocs3-v2java-sdkfaq29-check><a href=/en/docs3-v2/java-sdk/faq/2/9/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq29><span>2-9 - Increase timeout check task failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq210-li><input type=checkbox id=m-endocs3-v2java-sdkfaq210-check>
<label for=m-endocs3-v2java-sdkfaq210-check><a href=/en/docs3-v2/java-sdk/faq/2/10/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq210><span>2-10 - Failed to call service provider</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq220-li><input type=checkbox id=m-endocs3-v2java-sdkfaq220-check>
<label for=m-endocs3-v2java-sdkfaq220-check><a href=/en/docs3-v2/java-sdk/faq/2/20/ title="2-20 - Failed to get grouped results merged" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq220><span>2-20 - Failed to get grouped results combined</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq3-li><input type=checkbox id=m-endocs3-v2java-sdkfaq3-check>
<label for=m-endocs3-v2java-sdkfaq3-check><a href=/en/docs3-v2/java-sdk/faq/3/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq3><span>3 - Proxy</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq31-li><input type=checkbox id=m-endocs3-v2java-sdkfaq31-check>
<label for=m-endocs3-v2java-sdkfaq31-check><a href=/en/docs3-v2/java-sdk/faq/3/1/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq31><span>3-1 - Failed to convert address to Invoker</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq32-li><input type=checkbox id=m-endocs3-v2java-sdkfaq32-check>
<label for=m-endocs3-v2java-sdkfaq32-check><a href=/en/docs3-v2/java-sdk/faq/3/2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq32><span>3-2 - Publish or push service failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq33-li><input type=checkbox id=m-endocs3-v2java-sdkfaq33-check>
<label for=m-endocs3-v2java-sdkfaq33-check><a href=/en/docs3-v2/java-sdk/faq/3/3/ title="3-3 - Failed to generate bytecode via Javassist" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq33><span>3-3 - Failed to generate bytecode through Javassist</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq34-li><input type=checkbox id=m-endocs3-v2java-sdkfaq34-check>
<label for=m-endocs3-v2java-sdkfaq34-check><a href=/en/docs3-v2/java-sdk/faq/3/4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq34><span>3-4 - Client sending request timed out</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq35-li><input type=checkbox id=m-endocs3-v2java-sdkfaq35-check>
<label for=m-endocs3-v2java-sdkfaq35-check><a href=/en/docs3-v2/java-sdk/faq/3/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq35><span>3-5 - An exception occurred in the asynchronous response</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq36-li><input type=checkbox id=m-endocs3-v2java-sdkfaq36-check>
<label for=m-endocs3-v2java-sdkfaq36-check><a href=/en/docs3-v2/java-sdk/faq/3/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq36><span>3-6 - An exception occurred in the proxy execution service</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq37-li><input type=checkbox id=m-endocs3-v2java-sdkfaq37-check>
<label for=m-endocs3-v2java-sdkfaq37-check><a href=/en/docs3-v2/java-sdk/faq/3/7/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq37><span>3-7 - Server response timed out</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq38-li><input type=checkbox id=m-endocs3-v2java-sdkfaq38-check>
<label for=m-endocs3-v2java-sdkfaq38-check><a href=/en/docs3-v2/java-sdk/faq/3/8/ title="3-8 - Proxy Failure" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq38><span>3-8 - Agent failed</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq4-li><input type=checkbox id=m-endocs3-v2java-sdkfaq4-check>
<label for=m-endocs3-v2java-sdkfaq4-check><a href=/en/docs3-v2/java-sdk/faq/4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq4><span>4 - Protocol</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq41-li><input type=checkbox id=m-endocs3-v2java-sdkfaq41-check>
<label for=m-endocs3-v2java-sdkfaq41-check><a href=/en/docs3-v2/java-sdk/faq/4/1/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq41><span>4-1 - Unsupported protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq42-li><input type=checkbox id=m-endocs3-v2java-sdkfaq42-check>
<label for=m-endocs3-v2java-sdkfaq42-check><a href=/en/docs3-v2/java-sdk/faq/4/2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq42><span>4-2 - Serialization optimizer initial error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq43-li><input type=checkbox id=m-endocs3-v2java-sdkfaq43-check>
<label for=m-endocs3-v2java-sdkfaq43-check><a href=/en/docs3-v2/java-sdk/faq/4/3/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq43><span>4-3 - Interface reference call failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq44-li><input type=checkbox id=m-endocs3-v2java-sdkfaq44-check>
<label for=m-endocs3-v2java-sdkfaq44-check><a href=/en/docs3-v2/java-sdk/faq/4/4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq44><span>4-4 - Non-safe serialization method</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq45-li><input type=checkbox id=m-endocs3-v2java-sdkfaq45-check>
<label for=m-endocs3-v2java-sdkfaq45-check><a href=/en/docs3-v2/java-sdk/faq/4/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq45><span>4-5 - Stream closed exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq46-li><input type=checkbox id=m-endocs3-v2java-sdkfaq46-check>
<label for=m-endocs3-v2java-sdkfaq46-check><a href=/en/docs3-v2/java-sdk/faq/4/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq46><span>4-6 - Deserialization failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq47-li><input type=checkbox id=m-endocs3-v2java-sdkfaq47-check>
<label for=m-endocs3-v2java-sdkfaq47-check><a href=/en/docs3-v2/java-sdk/faq/4/7/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq47><span>4-7 - An error occurred while closing the client</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq48-li><input type=checkbox id=m-endocs3-v2java-sdkfaq48-check>
<label for=m-endocs3-v2java-sdkfaq48-check><a href=/en/docs3-v2/java-sdk/faq/4/8/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq48><span>4-8 - An error occurred while closing the server</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq49-li><input type=checkbox id=m-endocs3-v2java-sdkfaq49-check>
<label for=m-endocs3-v2java-sdkfaq49-check><a href=/en/docs3-v2/java-sdk/faq/4/9/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq49><span>4-9 - Parse failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq410-li><input type=checkbox id=m-endocs3-v2java-sdkfaq410-check>
<label for=m-endocs3-v2java-sdkfaq410-check><a href=/en/docs3-v2/java-sdk/faq/4/10/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq410><span>4-10 - Triple serialization result failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq411-li><input type=checkbox id=m-endocs3-v2java-sdkfaq411-check>
<label for=m-endocs3-v2java-sdkfaq411-check><a href=/en/docs3-v2/java-sdk/faq/4/11/ title="4-11 - Failed to initiate request" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq411><span>4-11 - Failed to initiate the request</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq412-li><input type=checkbox id=m-endocs3-v2java-sdkfaq412-check>
<label for=m-endocs3-v2java-sdkfaq412-check><a href=/en/docs3-v2/java-sdk/faq/4/12/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq412><span>4-12 - Failed to create Triple stream</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq413-li><input type=checkbox id=m-endocs3-v2java-sdkfaq413-check>
<label for=m-endocs3-v2java-sdkfaq413-check><a href=/en/docs3-v2/java-sdk/faq/4/13/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq413><span>4-13 - Server Timeout</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq414-li><input type=checkbox id=m-endocs3-v2java-sdkfaq414-check>
<label for=m-endocs3-v2java-sdkfaq414-check><a href=/en/docs3-v2/java-sdk/faq/4/14/ title="4-14 - Response Result Failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq414><span>4-14 - Response result failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq415-li><input type=checkbox id=m-endocs3-v2java-sdkfaq415-check>
<label for=m-endocs3-v2java-sdkfaq415-check><a href=/en/docs3-v2/java-sdk/faq/4/15/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq415><span>4-15 - Client Stream Listener</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq416-li><input type=checkbox id=m-endocs3-v2java-sdkfaq416-check>
<label for=m-endocs3-v2java-sdkfaq416-check><a href=/en/docs3-v2/java-sdk/faq/4/16/ title="4-16 - Service Closed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq416><span>4-16 - Service is closed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq417-li><input type=checkbox id=m-endocs3-v2java-sdkfaq417-check>
<label for=m-endocs3-v2java-sdkfaq417-check><a href=/en/docs3-v2/java-sdk/faq/4/17/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq417><span>4-17 - Error closing all callers</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq418-li><input type=checkbox id=m-endocs3-v2java-sdkfaq418-check>
<label for=m-endocs3-v2java-sdkfaq418-check><a href=/en/docs3-v2/java-sdk/faq/4/18/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq418><span>4-18 - Unable to get service model from call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq419-li><input type=checkbox id=m-endocs3-v2java-sdkfaq419-check>
<label for=m-endocs3-v2java-sdkfaq419-check><a href=/en/docs3-v2/java-sdk/faq/4/19/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq419><span>4-19 - Parameter values may be wrong</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq420-li><input type=checkbox id=m-endocs3-v2java-sdkfaq420-check>
<label for=m-endocs3-v2java-sdkfaq420-check><a href=/en/docs3-v2/java-sdk/faq/4/20/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq420><span>4-20 - Data decoding failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq421-li><input type=checkbox id=m-endocs3-v2java-sdkfaq421-check>
<label for=m-endocs3-v2java-sdkfaq421-check><a href=/en/docs3-v2/java-sdk/faq/4/21/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq421><span>4-21 - Insecure serialized data detected</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq5-li><input type=checkbox id=m-endocs3-v2java-sdkfaq5-check>
<label for=m-endocs3-v2java-sdkfaq5-check><a href=/en/docs3-v2/java-sdk/faq/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq5><span>5 - Config Center</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq51-li><input type=checkbox id=m-endocs3-v2java-sdkfaq51-check>
<label for=m-endocs3-v2java-sdkfaq51-check><a href=/en/docs3-v2/java-sdk/faq/5/1/ title="5-1 - Failed to connect to configuration center" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq51><span>5-1 - Failed to connect to the configuration center</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq52-li><input type=checkbox id=m-endocs3-v2java-sdkfaq52-check>
<label for=m-endocs3-v2java-sdkfaq52-check><a href=/en/docs3-v2/java-sdk/faq/5/2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq52><span>5-2 - Failed to register/unregister shutdown hook method</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq53-li><input type=checkbox id=m-endocs3-v2java-sdkfaq53-check>
<label for=m-endocs3-v2java-sdkfaq53-check><a href=/en/docs3-v2/java-sdk/faq/5/3/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq53><span>5-3 - An unexpected error occurred while destroying a method call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq54-li><input type=checkbox id=m-endocs3-v2java-sdkfaq54-check>
<label for=m-endocs3-v2java-sdkfaq54-check><a href=/en/docs3-v2/java-sdk/faq/5/4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq54><span>5-4 - Method not found in service interface</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq55-li><input type=checkbox id=m-endocs3-v2java-sdkfaq55-check>
<label for=m-endocs3-v2java-sdkfaq55-check><a href=/en/docs3-v2/java-sdk/faq/5/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq55><span>5-5 - Unable to get env variables</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq56-li><input type=checkbox id=m-endocs3-v2java-sdkfaq56-check>
<label for=m-endocs3-v2java-sdkfaq56-check><a href=/en/docs3-v2/java-sdk/faq/5/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq56><span>5-6 - Attribute Conflict of Interface Type</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq57-li><input type=checkbox id=m-endocs3-v2java-sdkfaq57-check>
<label for=m-endocs3-v2java-sdkfaq57-check><a href=/en/docs3-v2/java-sdk/faq/5/7/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq57><span>5-7 - An unexpected error occurred while canceling the export</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq58-li><input type=checkbox id=m-endocs3-v2java-sdkfaq58-check>
<label for=m-endocs3-v2java-sdkfaq58-check><a href=/en/docs3-v2/java-sdk/faq/5/8/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq58><span>5-8 - The protocol will use a random available port</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq59-li><input type=checkbox id=m-endocs3-v2java-sdkfaq59-check>
<label for=m-endocs3-v2java-sdkfaq59-check><a href=/en/docs3-v2/java-sdk/faq/5/9/ title="5-9 - Service Configuration Export Failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq59><span>5-9 - Service configuration export failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq510-li><input type=checkbox id=m-endocs3-v2java-sdkfaq510-check>
<label for=m-endocs3-v2java-sdkfaq510-check><a href=/en/docs3-v2/java-sdk/faq/5/10/ title="5-10 - Registration interface application mapping failed for service" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq510><span>5-10 - Service's registration interface application mapping failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq511-li><input type=checkbox id=m-endocs3-v2java-sdkfaq511-check>
<label for=m-endocs3-v2java-sdkfaq511-check><a href=/en/docs3-v2/java-sdk/faq/5/11/ title="5-11 - Registration Instance Error" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq511><span>5-11 - Registration instance error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq512-li><input type=checkbox id=m-endocs3-v2java-sdkfaq512-check>
<label for=m-endocs3-v2java-sdkfaq512-check><a href=/en/docs3-v2/java-sdk/faq/5/12/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq512><span>5-12 - Refresh instance and metadata errors</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq513-li><input type=checkbox id=m-endocs3-v2java-sdkfaq513-check>
<label for=m-endocs3-v2java-sdkfaq513-check><a href=/en/docs3-v2/java-sdk/faq/5/13/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq513><span>5-13 - Model cannot be destroyed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq514-li><input type=checkbox id=m-endocs3-v2java-sdkfaq514-check>
<label for=m-endocs3-v2java-sdkfaq514-check><a href=/en/docs3-v2/java-sdk/faq/5/14/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq514><span>5-14 - Model startup error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq515-li><input type=checkbox id=m-endocs3-v2java-sdkfaq515-check>
<label for=m-endocs3-v2java-sdkfaq515-check><a href=/en/docs3-v2/java-sdk/faq/5/15/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq515><span>5-15 - Model Reference Error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq516-li><input type=checkbox id=m-endocs3-v2java-sdkfaq516-check>
<label for=m-endocs3-v2java-sdkfaq516-check><a href=/en/docs3-v2/java-sdk/faq/5/16/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq516><span>5-16 - Unable to find any valid agreements</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq517-li><input type=checkbox id=m-endocs3-v2java-sdkfaq517-check>
<label for=m-endocs3-v2java-sdkfaq517-check><a href=/en/docs3-v2/java-sdk/faq/5/17/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq517><span>5-17 - Parameter value format error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq518-li><input type=checkbox id=m-endocs3-v2java-sdkfaq518-check>
<label for=m-endocs3-v2java-sdkfaq518-check><a href=/en/docs3-v2/java-sdk/faq/5/18/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq518><span>5-18 - Notification registration event failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq519-li><input type=checkbox id=m-endocs3-v2java-sdkfaq519-check>
<label for=m-endocs3-v2java-sdkfaq519-check><a href=/en/docs3-v2/java-sdk/faq/5/19/ title="5-19 - Embedded ZooKeeper running abnormally" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq519><span>5-19 - The embedded ZooKeeper runs abnormally</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq520-li><input type=checkbox id=m-endocs3-v2java-sdkfaq520-check>
<label for=m-endocs3-v2java-sdkfaq520-check><a href=/en/docs3-v2/java-sdk/faq/5/20/ title="5-20 - Error occurred while stopping dubbo module" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq520><span>5-20 - An error occurred while stopping the dubbo module</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq521-li><input type=checkbox id=m-endocs3-v2java-sdkfaq521-check>
<label for=m-endocs3-v2java-sdkfaq521-check><a href=/en/docs3-v2/java-sdk/faq/5/21/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq521><span>5-21 - An exception occurred when the service was destroyed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq522-li><input type=checkbox id=m-endocs3-v2java-sdkfaq522-check>
<label for=m-endocs3-v2java-sdkfaq522-check><a href=/en/docs3-v2/java-sdk/faq/5/22/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq522><span>5-22 - An error occurred while initializing the registry</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq523-li><input type=checkbox id=m-endocs3-v2java-sdkfaq523-check>
<label for=m-endocs3-v2java-sdkfaq523-check><a href=/en/docs3-v2/java-sdk/faq/5/23/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq523><span>5-23 - Waiting for export/reference service exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq524-li><input type=checkbox id=m-endocs3-v2java-sdkfaq524-check>
<label for=m-endocs3-v2java-sdkfaq524-check><a href=/en/docs3-v2/java-sdk/faq/5/24/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq524><span>5-24 - An exception occurred while asynchronously waiting for the reference service</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq525-li><input type=checkbox id=m-endocs3-v2java-sdkfaq525-check>
<label for=m-endocs3-v2java-sdkfaq525-check><a href=/en/docs3-v2/java-sdk/faq/5/25/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq525><span>5-25 - Undefined exception from custom implementation</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq526-li><input type=checkbox id=m-endocs3-v2java-sdkfaq526-check>
<label for=m-endocs3-v2java-sdkfaq526-check><a href=/en/docs3-v2/java-sdk/faq/5/26/ title="5-26 - Metadata Exported" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq526><span>5-26 - Metadata exported</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq527-li><input type=checkbox id=m-endocs3-v2java-sdkfaq527-check>
<label for=m-endocs3-v2java-sdkfaq527-check><a href=/en/docs3-v2/java-sdk/faq/5/27/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq527><span>5-27 - Inner class API is misused</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq528-li><input type=checkbox id=m-endocs3-v2java-sdkfaq528-check>
<label for=m-endocs3-v2java-sdkfaq528-check><a href=/en/docs3-v2/java-sdk/faq/5/28/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq528><span>5-28 - No available annotation found</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq529-li><input type=checkbox id=m-endocs3-v2java-sdkfaq529-check>
<label for=m-endocs3-v2java-sdkfaq529-check><a href=/en/docs3-v2/java-sdk/faq/5/29/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq529><span>5-29 - Scan package not configured</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq530-li><input type=checkbox id=m-endocs3-v2java-sdkfaq530-check>
<label for=m-endocs3-v2java-sdkfaq530-check><a href=/en/docs3-v2/java-sdk/faq/5/30/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq530><span>5-30 - Duplicate bean definition</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq531-li><input type=checkbox id=m-endocs3-v2java-sdkfaq531-check>
<label for=m-endocs3-v2java-sdkfaq531-check><a href=/en/docs3-v2/java-sdk/faq/5/31/ title="5-31 - Status Check Error" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq531><span>5-31 - Status check error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq532-li><input type=checkbox id=m-endocs3-v2java-sdkfaq532-check>
<label for=m-endocs3-v2java-sdkfaq532-check><a href=/en/docs3-v2/java-sdk/faq/5/32/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq532><span>5-32 - Apollo disconnected with an error</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq533-li><input type=checkbox id=m-endocs3-v2java-sdkfaq533-check>
<label for=m-endocs3-v2java-sdkfaq533-check><a href=/en/docs3-v2/java-sdk/faq/5/33/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq533><span>5-33 - An exception occurred in the Apollo configuration update event</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq534-li><input type=checkbox id=m-endocs3-v2java-sdkfaq534-check>
<label for=m-endocs3-v2java-sdkfaq534-check><a href=/en/docs3-v2/java-sdk/faq/5/34/ title="5-34 - NACOS Error" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq534><span>5-34 - NACOS went wrong</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq535-li><input type=checkbox id=m-endocs3-v2java-sdkfaq535-check>
<label for=m-endocs3-v2java-sdkfaq535-check><a href=/en/docs3-v2/java-sdk/faq/5/35/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq535><span>5-35 - Container initialization failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq536-li><input type=checkbox id=m-endocs3-v2java-sdkfaq536-check>
<label for=m-endocs3-v2java-sdkfaq536-check><a href=/en/docs3-v2/java-sdk/faq/5/36/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq536><span>5-36 - An error occurred during filter validation</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq537-li><input type=checkbox id=m-endocs3-v2java-sdkfaq537-check>
<label for=m-endocs3-v2java-sdkfaq537-check><a href=/en/docs3-v2/java-sdk/faq/5/37/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq537><span>5-37 - An error occurred in the processing of dynamic configuration monitoring</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq538-li><input type=checkbox id=m-endocs3-v2java-sdkfaq538-check>
<label for=m-endocs3-v2java-sdkfaq538-check><a href=/en/docs3-v2/java-sdk/faq/5/38/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq538><span>5-38 - Configuration parameter undefined</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq539-li><input type=checkbox id=m-endocs3-v2java-sdkfaq539-check>
<label for=m-endocs3-v2java-sdkfaq539-check><a href=/en/docs3-v2/java-sdk/faq/5/39/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq539><span>5-39 - An error occurred in the Dubbo configuration bean initializer</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq540-li><input type=checkbox id=m-endocs3-v2java-sdkfaq540-check>
<label for=m-endocs3-v2java-sdkfaq540-check><a href=/en/docs3-v2/java-sdk/faq/5/40/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq540><span>5-40 - Dubbo configuration bean not found</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq541-li><input type=checkbox id=m-endocs3-v2java-sdkfaq541-check>
<label for=m-endocs3-v2java-sdkfaq541-check><a href=/en/docs3-v2/java-sdk/faq/5/41/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq541><span>5-41 - Failed to read SSL certificate</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq542-li><input type=checkbox id=m-endocs3-v2java-sdkfaq542-check>
<label for=m-endocs3-v2java-sdkfaq542-check><a href=/en/docs3-v2/java-sdk/faq/5/42/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq542><span>5-42 - Dubbo certificate issuance failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq543-li><input type=checkbox id=m-endocs3-v2java-sdkfaq543-check>
<label for=m-endocs3-v2java-sdkfaq543-check><a href=/en/docs3-v2/java-sdk/faq/5/43/ title="5-43 - Dubbo certificate signing connection is not secure" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq543><span>5-43 - Dubbo certificate signing connection is insecure</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq6-li><input type=checkbox id=m-endocs3-v2java-sdkfaq6-check>
<label for=m-endocs3-v2java-sdkfaq6-check><a href=/en/docs3-v2/java-sdk/faq/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq6><span>6 - Transport</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq61-li><input type=checkbox id=m-endocs3-v2java-sdkfaq61-check>
<label for=m-endocs3-v2java-sdkfaq61-check><a href=/en/docs3-v2/java-sdk/faq/6/1/ title="6-1 - Server Connection Failed" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq61><span>6-1 - Server connection failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq62-li><input type=checkbox id=m-endocs3-v2java-sdkfaq62-check>
<label for=m-endocs3-v2java-sdkfaq62-check><a href=/en/docs3-v2/java-sdk/faq/6/2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq62><span>6-2 - Client Timeout</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq63-li><input type=checkbox id=m-endocs3-v2java-sdkfaq63-check>
<label for=m-endocs3-v2java-sdkfaq63-check><a href=/en/docs3-v2/java-sdk/faq/6/3/ title="6-3 - Failed to close network connection" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq63><span>6-3 - Failed to close the network connection</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq64-li><input type=checkbox id=m-endocs3-v2java-sdkfaq64-check>
<label for=m-endocs3-v2java-sdkfaq64-check><a href=/en/docs3-v2/java-sdk/faq/6/4/ title="6-4 - Network communication layer unknown exception" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq64><span>6-4 - Unknown exception in the network communication layer</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq65-li><input type=checkbox id=m-endocs3-v2java-sdkfaq65-check>
<label for=m-endocs3-v2java-sdkfaq65-check><a href=/en/docs3-v2/java-sdk/faq/6/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq65><span>6-5 - Network disconnection failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq66-li><input type=checkbox id=m-endocs3-v2java-sdkfaq66-check>
<label for=m-endocs3-v2java-sdkfaq66-check><a href=/en/docs3-v2/java-sdk/faq/6/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq66><span>6-6 - Unsupported message</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq67-li><input type=checkbox id=m-endocs3-v2java-sdkfaq67-check>
<label for=m-endocs3-v2java-sdkfaq67-check><a href=/en/docs3-v2/java-sdk/faq/6/7/ title="6-7 - Thread Connection Exceeded Warning" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq67><span>6-7 - Server connection failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq68-li><input type=checkbox id=m-endocs3-v2java-sdkfaq68-check>
<label for=m-endocs3-v2java-sdkfaq68-check><a href=/en/docs3-v2/java-sdk/faq/6/8/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq68><span>6-8 - Return data decoding failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq69-li><input type=checkbox id=m-endocs3-v2java-sdkfaq69-check>
<label for=m-endocs3-v2java-sdkfaq69-check><a href=/en/docs3-v2/java-sdk/faq/6/9/ title="6-9 - There are duplicate serial number IDs" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq69><span>6-9 - Server connection failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq610-li><input type=checkbox id=m-endocs3-v2java-sdkfaq610-check>
<label for=m-endocs3-v2java-sdkfaq610-check><a href=/en/docs3-v2/java-sdk/faq/6/10/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq610><span>6-10 - Payload Limit Exceeded Exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq611-li><input type=checkbox id=m-endocs3-v2java-sdkfaq611-check>
<label for=m-endocs3-v2java-sdkfaq611-check><a href=/en/docs3-v2/java-sdk/faq/6/11/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq611><span>6-11 - Character set not supported</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq612-li><input type=checkbox id=m-endocs3-v2java-sdkfaq612-check>
<label for=m-endocs3-v2java-sdkfaq612-check><a href=/en/docs3-v2/java-sdk/faq/6/12/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq612><span>6-12 - An error occurred when the ZK client was destroyed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq613-li><input type=checkbox id=m-endocs3-v2java-sdkfaq613-check>
<label for=m-endocs3-v2java-sdkfaq613-check><a href=/en/docs3-v2/java-sdk/faq/6/13/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq613><span>6-13 - Stream closed exception</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq614-li><input type=checkbox id=m-endocs3-v2java-sdkfaq614-check>
<label for=m-endocs3-v2java-sdkfaq614-check><a href=/en/docs3-v2/java-sdk/faq/6/14/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq614><span>6-14 - Server response failed</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq615-li><input type=checkbox id=m-endocs3-v2java-sdkfaq615-check>
<label for=m-endocs3-v2java-sdkfaq615-check><a href=/en/docs3-v2/java-sdk/faq/6/15/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq615><span>6-15 - Skip unread stream data</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq616-li><input type=checkbox id=m-endocs3-v2java-sdkfaq616-check>
<label for=m-endocs3-v2java-sdkfaq616-check><a href=/en/docs3-v2/java-sdk/faq/6/16/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq616><span>6-16 - An exception occurred during reconnection</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq7-li><input type=checkbox id=m-endocs3-v2java-sdkfaq7-check>
<label for=m-endocs3-v2java-sdkfaq7-check><a href=/en/docs3-v2/java-sdk/faq/7/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq7><span>7 - QoS</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq71-li><input type=checkbox id=m-endocs3-v2java-sdkfaq71-check>
<label for=m-endocs3-v2java-sdkfaq71-check><a href=/en/docs3-v2/java-sdk/faq/7/1/ title="7-1 - QOS OFF" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq71><span>7-1 - QOS is off</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq72-li><input type=checkbox id=m-endocs3-v2java-sdkfaq72-check>
<label for=m-endocs3-v2java-sdkfaq72-check><a href=/en/docs3-v2/java-sdk/faq/7/2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq72><span>7-2 - QOS is on</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq73-li><input type=checkbox id=m-endocs3-v2java-sdkfaq73-check>
<label for=m-endocs3-v2java-sdkfaq73-check><a href=/en/docs3-v2/java-sdk/faq/7/3/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq73><span>7-3 - Set warning percentage value for timeout</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq74-li><input type=checkbox id=m-endocs3-v2java-sdkfaq74-check>
<label for=m-endocs3-v2java-sdkfaq74-check><a href=/en/docs3-v2/java-sdk/faq/7/4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq74><span>7-4 - QOS service failed to start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq75-li><input type=checkbox id=m-endocs3-v2java-sdkfaq75-check>
<label for=m-endocs3-v2java-sdkfaq75-check><a href=/en/docs3-v2/java-sdk/faq/7/5/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq75><span>7-5 - QOS command not found</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq76-li><input type=checkbox id=m-endocs3-v2java-sdkfaq76-check>
<label for=m-endocs3-v2java-sdkfaq76-check><a href=/en/docs3-v2/java-sdk/faq/7/6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq76><span>7-6 - Unknown exception occurred in QOS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq77-li><input type=checkbox id=m-endocs3-v2java-sdkfaq77-check>
<label for=m-endocs3-v2java-sdkfaq77-check><a href=/en/docs3-v2/java-sdk/faq/7/7/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq77><span>7-7 - QOS Unprivileged Access</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2java-sdkfaq99-li><input type=checkbox id=m-endocs3-v2java-sdkfaq99-check>
<label for=m-endocs3-v2java-sdkfaq99-check><a href=/en/docs3-v2/java-sdk/faq/99/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2java-sdkfaq99><span>99 - Unknown</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq991-li><input type=checkbox id=m-endocs3-v2java-sdkfaq991-check>
<label for=m-endocs3-v2java-sdkfaq991-check><a href=/en/docs3-v2/java-sdk/faq/99/1/ title="99-1 - Program Interrupted" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq991><span>99-1 - Program interrupted</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaq990-li><input type=checkbox id=m-endocs3-v2java-sdkfaq990-check>
<label for=m-endocs3-v2java-sdkfaq990-check><a href=/en/docs3-v2/java-sdk/faq/99/0/ title="99-0 - Internal Unknown Error" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaq990><span>99-0 - Internal unknown error</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2java-sdkfaqintro-li><input type=checkbox id=m-endocs3-v2java-sdkfaqintro-check>
<label for=m-endocs3-v2java-sdkfaqintro-check><a href=/en/docs3-v2/java-sdk/faq/intro/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2java-sdkfaqintro><span>Introduction to Error Code Mechanism</span></a></label></li></ul></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdk-li><input type=checkbox id=m-endocs3-v2golang-sdk-check>
<label for=m-endocs3-v2golang-sdk-check><a href=/en/docs3-v2/golang-sdk/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdk><span>Golang</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdkpreface-li><input type=checkbox id=m-endocs3-v2golang-sdkpreface-check>
<label for=m-endocs3-v2golang-sdkpreface-check><a href=/en/docs3-v2/golang-sdk/preface/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdkpreface><span>Preface</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefacewhat-li><input type=checkbox id=m-endocs3-v2golang-sdkprefacewhat-check>
<label for=m-endocs3-v2golang-sdkprefacewhat-check><a href=/en/docs3-v2/golang-sdk/preface/what/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefacewhat><span>What is Dubbo-go</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdkprefaceconcept-li><input type=checkbox id=m-endocs3-v2golang-sdkprefaceconcept-check>
<label for=m-endocs3-v2golang-sdkprefaceconcept-check><a href=/en/docs3-v2/golang-sdk/preface/concept/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdkprefaceconcept><span>Concept</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefaceconceptgeneric-li><input type=checkbox id=m-endocs3-v2golang-sdkprefaceconceptgeneric-check>
<label for=m-endocs3-v2golang-sdkprefaceconceptgeneric-check><a href=/en/docs3-v2/golang-sdk/preface/concept/generic/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefaceconceptgeneric><span>generalization call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefaceconceptmulti_language-li><input type=checkbox id=m-endocs3-v2golang-sdkprefaceconceptmulti_language-check>
<label for=m-endocs3-v2golang-sdkprefaceconceptmulti_language-check><a href=/en/docs3-v2/golang-sdk/preface/concept/multi_language/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefaceconceptmulti_language><span>Multilingual RPC</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefaceconceptprotocol-li><input type=checkbox id=m-endocs3-v2golang-sdkprefaceconceptprotocol-check>
<label for=m-endocs3-v2golang-sdkprefaceconceptprotocol-check><a href=/en/docs3-v2/golang-sdk/preface/concept/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefaceconceptprotocol><span>Network Protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefaceconceptregistry-li><input type=checkbox id=m-endocs3-v2golang-sdkprefaceconceptregistry-check>
<label for=m-endocs3-v2golang-sdkprefaceconceptregistry-check><a href=/en/docs3-v2/golang-sdk/preface/concept/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefaceconceptregistry><span>Service Registration Discovery</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkpreface30_feature-li><input type=checkbox id=m-endocs3-v2golang-sdkpreface30_feature-check>
<label for=m-endocs3-v2golang-sdkpreface30_feature-check><a href=/en/docs3-v2/golang-sdk/preface/3.0_feature/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkpreface30_feature><span>New Features of Dubbo-go 3.0</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdkprefacedesign-li><input type=checkbox id=m-endocs3-v2golang-sdkprefacedesign-check>
<label for=m-endocs3-v2golang-sdkprefacedesign-check><a href=/en/docs3-v2/golang-sdk/preface/design/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdkprefacedesign><span>Architecture</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefacedesignaop_and_extension-li><input type=checkbox id=m-endocs3-v2golang-sdkprefacedesignaop_and_extension-check>
<label for=m-endocs3-v2golang-sdkprefacedesignaop_and_extension-check><a href=/en/docs3-v2/golang-sdk/preface/design/aop_and_extension/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefacedesignaop_and_extension><span>AOP and Extensibility Mechanisms</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefacedesignarchitecture-li><input type=checkbox id=m-endocs3-v2golang-sdkprefacedesignarchitecture-check>
<label for=m-endocs3-v2golang-sdkprefacedesignarchitecture-check><a href=/en/docs3-v2/golang-sdk/preface/design/architecture/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefacedesignarchitecture><span>Architecture</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefacedesignapp_and_interface-li><input type=checkbox id=m-endocs3-v2golang-sdkprefacedesignapp_and_interface-check>
<label for=m-endocs3-v2golang-sdkprefacedesignapp_and_interface-check><a href=/en/docs3-v2/golang-sdk/preface/design/app_and_interface/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefacedesignapp_and_interface><span>Dubbo's application and interface</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkprefacesamples-li><input type=checkbox id=m-endocs3-v2golang-sdkprefacesamples-check>
<label for=m-endocs3-v2golang-sdkprefacesamples-check><a href=/en/docs3-v2/golang-sdk/preface/samples/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkprefacesamples><span>Dubbo-go Samples</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdkquickstart-li><input type=checkbox id=m-endocs3-v2golang-sdkquickstart-check>
<label for=m-endocs3-v2golang-sdkquickstart-check><a href=/en/docs3-v2/golang-sdk/quickstart/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdkquickstart><span>Quick Start</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkquickstartinstall-li><input type=checkbox id=m-endocs3-v2golang-sdkquickstartinstall-check>
<label for=m-endocs3-v2golang-sdkquickstartinstall-check><a href=/en/docs3-v2/golang-sdk/quickstart/install/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkquickstartinstall><span>Install Dubbo-go development environment</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkquickstartquickstart_triple-li><input type=checkbox id=m-endocs3-v2golang-sdkquickstartquickstart_triple-check>
<label for=m-endocs3-v2golang-sdkquickstartquickstart_triple-check><a href=/en/docs3-v2/golang-sdk/quickstart/quickstart_triple/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkquickstartquickstart_triple><span>Complete an RPC call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkquickstartquickstart_triple_with_customize-li><input type=checkbox id=m-endocs3-v2golang-sdkquickstartquickstart_triple_with_customize-check>
<label for=m-endocs3-v2golang-sdkquickstartquickstart_triple_with_customize-check><a href=/en/docs3-v2/golang-sdk/quickstart/quickstart_triple_with_customize/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkquickstartquickstart_triple_with_customize><span>Complete an RPC call (the version that defines the interface yourself)</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorial-li><input type=checkbox id=m-endocs3-v2golang-sdktutorial-check>
<label for=m-endocs3-v2golang-sdktutorial-check><a href=/en/docs3-v2/golang-sdk/tutorial/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorial><span>Task</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdevelop-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelop-check>
<label for=m-endocs3-v2golang-sdktutorialdevelop-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdevelop><span>Develop Services</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdeveloptemplate-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdeveloptemplate-check>
<label for=m-endocs3-v2golang-sdktutorialdeveloptemplate-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/template/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdeveloptemplate><span>Apply Template</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdevelopregistry-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistry-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistry-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdevelopregistry><span>Registry</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistrydesc-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistrydesc-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistrydesc-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/desc/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistrydesc><span>Understanding the Registry</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistryservice-discovery-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistryservice-discovery-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistryservice-discovery-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/service-discovery/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistryservice-discovery><span>Application-Level Service Discovery</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistryregistry-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistryregistry-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistryregistry-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistryregistry><span>Registry Configuration</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistrynacos-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistrynacos-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistrynacos-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/nacos/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistrynacos><span>Use Nacos as a registry</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistrynacos-2-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistrynacos-2-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistrynacos-2-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/nacos-2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistrynacos-2><span>使用 Nacos 作为注册中心</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistryzookeeper-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistryzookeeper-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistryzookeeper-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/zookeeper/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistryzookeeper><span>Using Zookeeper as a Registry</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistrypolaris-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistrypolaris-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistrypolaris-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/polaris/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistrypolaris><span>Using Polaris as a Registry</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopregistrymulti_registry-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopregistrymulti_registry-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopregistrymulti_registry-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/registry/multi_registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopregistrymulti_registry><span>Multiple Registries</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdevelopprotocol-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopprotocol-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopprotocol-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdevelopprotocol><span>Protocol Configuration</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopprotocolexception_response-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopprotocolexception_response-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopprotocolexception_response-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/protocol/exception_response/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopprotocolexception_response><span>Triple exception return</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopprotocolerror-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopprotocolerror-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopprotocolerror-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/protocol/error/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopprotocolerror><span>exception information return</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopprotocolchoose_protocol-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopprotocolchoose_protocol-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopprotocolchoose_protocol-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/protocol/choose_protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopprotocolchoose_protocol><span>Select the network protocol to use</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdevelopinterflow-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopinterflow-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopinterflow-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/interflow/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdevelopinterflow><span>Heterogeneous System Interoperability</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_java-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_java-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_java-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/interflow/call_java/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_java><span>Cross-language interoperability with Java applications</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_grpc-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_grpc-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_grpc-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/interflow/call_grpc/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopinterflowcall_grpc><span>Interoperate with gRPC applications</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdevelopconfig-center-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopconfig-center-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopconfig-center-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/config-center/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdevelopconfig-center><span>Configuration Center</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerdesc-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerdesc-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopconfig-centerdesc-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/config-center/desc/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerdesc><span>Introduction to Configuration Center</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerconfig-center-dynamic-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerconfig-center-dynamic-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopconfig-centerconfig-center-dynamic-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/config-center/config-center-dynamic/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerconfig-center-dynamic><span>Dubbogo 3.0 configuration center and configuration monitoring</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerremote_config-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerremote_config-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopconfig-centerremote_config-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/config-center/remote_config/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopconfig-centerremote_config><span>Remote loading configuration start</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdevelopfeatures-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopfeatures-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopfeatures-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/features/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdevelopfeatures><span>Advanced Features</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopfeaturesconfig_api-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopfeaturesconfig_api-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopfeaturesconfig_api-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/features/config_api/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopfeaturesconfig_api><span>Launching the Application Using the Configuration API</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopfeaturescustom-logger-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopfeaturescustom-logger-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopfeaturescustom-logger-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/features/custom-logger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopfeaturescustom-logger><span>log</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopfeaturescontext-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopfeaturescontext-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopfeaturescontext-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/features/context/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopfeaturescontext><span>Use ctx to pass context information</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/features/generic/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric><span>generalization call</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric-2-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric-2-check>
<label for=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric-2-check><a href=/en/docs3-v2/golang-sdk/tutorial/develop/features/generic-2/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdevelopfeaturesgeneric-2><span>generalization call</span></a></label></li></ul></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdebugging-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdebugging-check>
<label for=m-endocs3-v2golang-sdktutorialdebugging-check><a href=/en/docs3-v2/golang-sdk/tutorial/debugging/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdebugging><span>Service Debugging</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdebugginggrpc_cli-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdebugginggrpc_cli-check>
<label for=m-endocs3-v2golang-sdktutorialdebugginggrpc_cli-check><a href=/en/docs3-v2/golang-sdk/tutorial/debugging/grpc_cli/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialdebugginggrpc_cli><span>Use grpc_cli to debug Dubbo-go service</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialdeployment-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdeployment-check>
<label for=m-endocs3-v2golang-sdktutorialdeployment-check><a href=/en/docs3-v2/golang-sdk/tutorial/deployment/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdeployment><span>Deployment Service</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdeploymentpractice-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdeploymentpractice-check>
<label for=m-endocs3-v2golang-sdktutorialdeploymentpractice-check><a href=/en/docs3-v2/golang-sdk/tutorial/deployment/practice/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdeploymentpractice><span>Introduction to Best Practices for Production Deployment</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdeploymentdocker-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdeploymentdocker-check>
<label for=m-endocs3-v2golang-sdktutorialdeploymentdocker-check><a href=/en/docs3-v2/golang-sdk/tutorial/deployment/docker/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdeploymentdocker><span>Docker image packaging tutorial</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialdeploymentkubernetes-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialdeploymentkubernetes-check>
<label for=m-endocs3-v2golang-sdktutorialdeploymentkubernetes-check><a href=/en/docs3-v2/golang-sdk/tutorial/deployment/kubernetes/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialdeploymentkubernetes><span>Kubernetes Deployment Tutorial</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernance-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernance-check>
<label for=m-endocs3-v2golang-sdktutorialgovernance-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernance><span>Service Governance</span></a></label><ul class="ul-4 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernancemonitor-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancemonitor-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancemonitor-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/monitor/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancemonitor><span>Service Status Monitoring</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancemonitorhttp-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancemonitorhttp-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancemonitorhttp-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/monitor/http/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancemonitorhttp><span>Indicator observation based on http metrics</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancemonitorrpc_metrics-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancemonitorrpc_metrics-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancemonitorrpc_metrics-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/monitor/rpc_metrics/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancemonitorrpc_metrics><span>View monitoring information of RPC calls</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancemonitorpromethus-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancemonitorpromethus-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancemonitorpromethus-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/monitor/promethus/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancemonitorpromethus><span>Data Reporting Promethus Tutorial</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancemonitorgrafana-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancemonitorgrafana-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancemonitorgrafana-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/monitor/grafana/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancemonitorgrafana><span>Grafana-based Visual Monitoring Tutorial</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancemonitorlogger-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancemonitorlogger-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancemonitorlogger-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/monitor/logger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancemonitorlogger><span>Dubbo Go Log Management</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancemonitormetrics-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancemonitormetrics-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancemonitormetrics-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/monitor/metrics/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancemonitormetrics><span>Metrics data reporting</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernancetracing-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancetracing-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancetracing-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/tracing/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancetracing><span>Full Link Tracking</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancetracingjaeger-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancetracingjaeger-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancetracingjaeger-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/tracing/jaeger/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancetracingjaeger><span>Link Tracking Based on Jaeger</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancetracingopentelmentry-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancetracingopentelmentry-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancetracingopentelmentry-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/tracing/opentelmentry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancetracingopentelmentry><span>Using the OpenTelmentry Protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancetracingskywalking-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancetracingskywalking-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancetracingskywalking-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/tracing/skywalking/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancetracingskywalking><span>Skywalking-based Tracking</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernancehealth-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancehealth-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancehealth-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/health/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancehealth><span>Health Check</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancehealthtriple-health-check-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancehealthtriple-health-check-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancehealthtriple-health-check-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/health/triple-health-check/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancehealthtriple-health-check><span>Grpc-based health check</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancehealthstart-check-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancehealthstart-check-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancehealthstart-check-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/health/start-check/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancehealthstart-check><span>dubbogo 3.0 check at startup</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancehealthkubernetes-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancehealthkubernetes-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancehealthkubernetes-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/health/kubernetes/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancehealthkubernetes><span>Kubernetes Probe</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernancetraffic-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancetraffic-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancetraffic-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/traffic/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancetraffic><span>Traffic Management</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancetrafficmesh_router-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancetrafficmesh_router-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancetrafficmesh_router-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/traffic/mesh_router/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancetrafficmesh_router><span>routing rules</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancetrafficgraceful_shutdown-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancetrafficgraceful_shutdown-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancetrafficgraceful_shutdown-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/traffic/graceful_shutdown/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancetrafficgraceful_shutdown><span>Elegant online and offline</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernancelimit-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancelimit-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancelimit-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/limit/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancelimit><span>Rate Limit</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancelimitinternally-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancelimitinternally-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancelimitinternally-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/limit/internally/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancelimitinternally><span>Dubbo Go's built-in current limit usage tutorial</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancelimitsentinel-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancelimitsentinel-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancelimitsentinel-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/limit/sentinel/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancelimitsentinel><span>Current Limiting Tutorial Based on Sentinel</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancelimitpolaris-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancelimitpolaris-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancelimitpolaris-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/limit/polaris/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancelimitpolaris><span>Polaris-Based Current Limiting Tutorial</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancelimittps_limiter-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancelimittps_limiter-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancelimittps_limiter-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/limit/tps_limiter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancelimittps_limiter><span>Set current limit for the server</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancelimitadaptive-service-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancelimitadaptive-service-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancelimitadaptive-service-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/limit/adaptive-service/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancelimitadaptive-service><span>dubbogo 3.0 flexible service</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-mesh-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-mesh-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-mesh-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernanceservice-mesh><span>Service Mesh</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshistio-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshistio-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-meshistio-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/istio/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshistio><span>Deploy the Istio environment</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshdeploy-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshdeploy-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-meshdeploy-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/deploy/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshdeploy><span>Deploy Dubbo-go application in Istio environment</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshtraffic_management-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshtraffic_management-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-meshtraffic_management-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/traffic_management/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshtraffic_management><span>traffic management</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiu-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiu-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiu-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/pixiu/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiu><span>Use Pixiu gateway to access Ingress traffic</span></a></label><ul class="ul-6 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiuhttp_triple-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiuhttp_triple-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiuhttp_triple-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/pixiu/http_triple/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiuhttp_triple><span>Access Ingress Traffic</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiupixiu-nacos-triple-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiupixiu-nacos-triple-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiupixiu-nacos-triple-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/pixiu/pixiu-nacos-triple/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshpixiupixiu-nacos-triple><span>Use Pixiu to expose Dubbo-go service</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshproxyless_service_mesh-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshproxyless_service_mesh-check>
<label for=m-endocs3-v2golang-sdktutorialgovernanceservice-meshproxyless_service_mesh-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/service-mesh/proxyless_service_mesh/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernanceservice-meshproxyless_service_mesh><span>Proxyless Service Mesh</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdktutorialgovernancefeatures-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancefeatures-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancefeatures-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/features/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdktutorialgovernancefeatures><span>Advanced Features</span></a></label><ul class="ul-5 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancefeaturesaop-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancefeaturesaop-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancefeaturesaop-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/features/aop/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancefeaturesaop><span>Custom service call middleware</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancefeaturestimeout-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancefeaturestimeout-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancefeaturestimeout-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/features/timeout/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancefeaturestimeout><span>timeout for configuration calls</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdktutorialgovernancefeaturescustom-filter-li><input type=checkbox id=m-endocs3-v2golang-sdktutorialgovernancefeaturescustom-filter-check>
<label for=m-endocs3-v2golang-sdktutorialgovernancefeaturescustom-filter-check><a href=/en/docs3-v2/golang-sdk/tutorial/governance/features/custom-filter/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdktutorialgovernancefeaturescustom-filter><span>Custom Filter component</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-endocs3-v2golang-sdksourcecode-li><input type=checkbox id=m-endocs3-v2golang-sdksourcecode-check>
<label for=m-endocs3-v2golang-sdksourcecode-check><a href=/en/docs3-v2/golang-sdk/sourcecode/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdksourcecode><span>Source Code Interpretation</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdksourcecodeprotocol-li><input type=checkbox id=m-endocs3-v2golang-sdksourcecodeprotocol-check>
<label for=m-endocs3-v2golang-sdksourcecodeprotocol-check><a href=/en/docs3-v2/golang-sdk/sourcecode/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdksourcecodeprotocol><span>Network Protocol</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdksourcecoderegistry-li><input type=checkbox id=m-endocs3-v2golang-sdksourcecoderegistry-check>
<label for=m-endocs3-v2golang-sdksourcecoderegistry-check><a href=/en/docs3-v2/golang-sdk/sourcecode/registry/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdksourcecoderegistry><span>注册中心</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2golang-sdkrefer-li><input type=checkbox id=m-endocs3-v2golang-sdkrefer-check>
<label for=m-endocs3-v2golang-sdkrefer-check><a href=/en/docs3-v2/golang-sdk/refer/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2golang-sdkrefer><span>Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkreferconfig-li><input type=checkbox id=m-endocs3-v2golang-sdkreferconfig-check>
<label for=m-endocs3-v2golang-sdkreferconfig-check><a href=/en/docs3-v2/golang-sdk/refer/config/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkreferconfig><span>configuration item reference</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkreferuse_dubbogo_cli-li><input type=checkbox id=m-endocs3-v2golang-sdkreferuse_dubbogo_cli-check>
<label for=m-endocs3-v2golang-sdkreferuse_dubbogo_cli-check><a href=/en/docs3-v2/golang-sdk/refer/use_dubbogo_cli/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkreferuse_dubbogo_cli><span>Use dubbogo-cli tool</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkreferecology-li><input type=checkbox id=m-endocs3-v2golang-sdkreferecology-check>
<label for=m-endocs3-v2golang-sdkreferecology-check><a href=/en/docs3-v2/golang-sdk/refer/ecology/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkreferecology><span>Dubbogo Ecological Components</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkrefercompatible_version-li><input type=checkbox id=m-endocs3-v2golang-sdkrefercompatible_version-check>
<label for=m-endocs3-v2golang-sdkrefercompatible_version-check><a href=/en/docs3-v2/golang-sdk/refer/compatible_version/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkrefercompatible_version><span>Depends on the adaptation version number</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2golang-sdkreferbasic_concept-li><input type=checkbox id=m-endocs3-v2golang-sdkreferbasic_concept-check>
<label for=m-endocs3-v2golang-sdkreferbasic_concept-check><a href=/en/docs3-v2/golang-sdk/refer/basic_concept/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2golang-sdkreferbasic_concept><span>Basic concepts of configuration</span></a></label></li></ul></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-endocs3-v2rust-sdk-li><input type=checkbox id=m-endocs3-v2rust-sdk-check>
<label for=m-endocs3-v2rust-sdk-check><a href=/en/docs3-v2/rust-sdk/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2rust-sdk><span>Rust</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2rust-sdkquick-start-li><input type=checkbox id=m-endocs3-v2rust-sdkquick-start-check>
<label for=m-endocs3-v2rust-sdkquick-start-check><a href=/en/docs3-v2/rust-sdk/quick-start/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2rust-sdkquick-start><span>Quick start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2rust-sdkjava-interoperability-li><input type=checkbox id=m-endocs3-v2rust-sdkjava-interoperability-check>
<label for=m-endocs3-v2rust-sdkjava-interoperability-check><a href=/en/docs3-v2/rust-sdk/java-interoperability/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2rust-sdkjava-interoperability><span>Rust and Java interoperability</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2rust-sdkprotocol-li><input type=checkbox id=m-endocs3-v2rust-sdkprotocol-check>
<label for=m-endocs3-v2rust-sdkprotocol-check><a href=/en/docs3-v2/rust-sdk/protocol/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-endocs3-v2rust-sdkprotocol><span>Network Protocol</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-endocs3-v2erlang-sdk-li><input type=checkbox id=m-endocs3-v2erlang-sdk-check>
<label for=m-endocs3-v2erlang-sdk-check><a href=/en/docs3-v2/erlang-sdk/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-endocs3-v2erlang-sdk><span>Erlang</span></a></label></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/en/docs3-v2/>SDK Manual</a></li><li class=breadcrumb-item><a href=https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/>Java</a></li><li class=breadcrumb-item><a href=https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/>Advanced Features</a></li><li class=breadcrumb-item><a href=https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/>Observability</a></li><li class="breadcrumb-item active" aria-current=page><a href=https://cn.dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/meter/ aria-disabled=true class="btn-link disabled">Meter</a></li></ol></nav><div class=td-content><h1>Meter</h1><header class=article-meta></header><h1 id=overview>overview</h1><h2 id=1-indicator-access-instructions>1. Indicator access instructions</h2><h2 id=2-indicator-system-design>2. Indicator system design</h2><p>Dubbo&rsquo;s indicator system involves three parts in total, indicator collection, local aggregation, and indicator push
Indicator collection: Push the indicators that need to be monitored inside Dubbo to a unified Collector for storage
Local Aggregation: All indicators collected are basic indicators, and some quantile indicators need to be calculated through local aggregation
Indicator push: The collected and aggregated indicators are pushed to third-party servers in a certain way, currently only involving Prometheus</p><h2 id=3-structural-design>3. Structural Design</h2><ul><li>Remove the original classes related to Metrics</li><li>Create new modules dubbo-metrics/dubbo-metrics-api, dubbo-metrics/dubbo-metrics-prometheus, MetricsConfig as the configuration class of the module</li><li>Use micrometer, use basic types in Collector to represent indicators, such as Long, Double, etc., and introduce micrometer in dubbo-metrics-api, and use micrometer to convert internal indicators</li></ul><h2 id=4-data-flow>4. data flow</h2><p><img src=/imgs/docs3-v2/java-sdk/observability/dataflow.png alt=img.png></p><h2 id=5-goals>5. Goals</h2><p>The indicator interface will provide a MetricsService, which not only provides interface-level data of the flexible service, but also provides query methods for all indicators. The interface for querying method-level indicators can be declared as follows</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>interface</span> <span style=color:#268bd2>MetricsService</span> {
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#586e75>/**
</span></span></span><span style=display:flex><span><span style=color:#586e75> * Default {@link MetricsService} extension name.
</span></span></span><span style=display:flex><span><span style=color:#586e75> */</span>
</span></span><span style=display:flex><span> String DEFAULT_EXTENSION_NAME <span style=color:#719e07>=</span> <span style=color:#2aa198>&#34;default&#34;</span>;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#586e75>/**
</span></span></span><span style=display:flex><span><span style=color:#586e75> * The contract version of {@link MetricsService}, the future update must make sure compatible.
</span></span></span><span style=display:flex><span><span style=color:#586e75> */</span>
</span></span><span style=display:flex><span> String VERSION <span style=color:#719e07>=</span> <span style=color:#2aa198>&#34;1.0.0&#34;</span>;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#586e75>/**
</span></span></span><span style=display:flex><span><span style=color:#586e75> * Get metrics by prefixes
</span></span></span><span style=display:flex><span><span style=color:#586e75> *
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @param categories categories
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @return metrics - key=MetricCategory value=MetricsEntityList
</span></span></span><span style=display:flex><span><span style=color:#586e75> */</span>
</span></span><span style=display:flex><span> Map<span style=color:#719e07>&lt;</span>MetricsCategory, List<span style=color:#719e07>&lt;</span>MetricsEntity<span style=color:#719e07>&gt;&gt;</span> <span style=color:#268bd2>getMetricsByCategories</span>(List<span style=color:#719e07>&lt;</span>MetricsCategory<span style=color:#719e07>&gt;</span> categories);
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#586e75>/**
</span></span></span><span style=display:flex><span><span style=color:#586e75> * Get metrics by interface and prefixes
</span></span></span><span style=display:flex><span><span style=color:#586e75> *
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @param serviceUniqueName serviceUniqueName (eg.group/interfaceName:version)
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @param categories categories
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @return metrics - key=MetricCategory value=MetricsEntityList
</span></span></span><span style=display:flex><span><span style=color:#586e75> */</span>
</span></span><span style=display:flex><span> Map<span style=color:#719e07>&lt;</span>MetricsCategory, List<span style=color:#719e07>&lt;</span>MetricsEntity<span style=color:#719e07>&gt;&gt;</span> <span style=color:#268bd2>getMetricsByCategories</span>(String serviceUniqueName, List<span style=color:#719e07>&lt;</span>MetricsCategory<span style=color:#719e07>&gt;</span> categories);
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#586e75>/**
</span></span></span><span style=display:flex><span><span style=color:#586e75> * Get metrics by interface、method and prefixes
</span></span></span><span style=display:flex><span><span style=color:#586e75> *
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @param serviceUniqueName serviceUniqueName (eg.group/interfaceName:version)
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @param methodName methodName
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @param parameterTypes method parameter types
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @param categories categories
</span></span></span><span style=display:flex><span><span style=color:#586e75> * @return metrics - key=MetricCategory value=MetricsEntityList
</span></span></span><span style=display:flex><span><span style=color:#586e75> */</span>
</span></span><span style=display:flex><span> Map<span style=color:#719e07>&lt;</span>MetricsCategory, List<span style=color:#719e07>&lt;</span>MetricsEntity<span style=color:#719e07>&gt;&gt;</span> <span style=color:#268bd2>getMetricsByCategories</span>(String serviceUniqueName, String methodName, Class<span style=color:#719e07>&lt;?&gt;[]</span> parameterTypes, List<span style=color:#719e07>&lt;</span>MetricsCategory<span style=color:#719e07>&gt;</span> categories);
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>Among them, MetricsCategory is designed as follows:</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>enum</span> MetricsCategory {
</span></span><span style=display:flex><span> RT,
</span></span><span style=display:flex><span> QPS,
</span></span><span style=display:flex><span> REQUESTS,
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>MetricsEntity is designed as follows</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span style=color:#268bd2>MetricsEntity</span> {
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> String name;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> Map<span style=color:#719e07>&lt;</span>String, String<span style=color:#719e07>&gt;</span> tags;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> MetricsCategory category;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> Object value;
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><h1 id=metrics-collection>metrics collection</h1><h2 id=1-embedding-position>1. Embedding position</h2><p>The Dubbo architecture diagram is as follows
<img src=/imgs/docs3-v2/java-sdk/observability/dubbo.png alt=img.png></p><p>Add a layer of MetricsFilter to the provider, rewrite the invoke method, embed the call link to collect metrics, and use try-catch-finally for processing. The core code is as follows</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>@Activate</span>(group <span style=color:#719e07>=</span> PROVIDER, order <span style=color:#719e07>=</span> <span style=color:#719e07>-</span>1)
</span></span><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span style=color:#268bd2>MetricsFilter</span> <span style=color:#268bd2>implements</span> Filter, ScopeModelAware {
</span></span><span style=display:flex><span> <span style=color:#268bd2>@Override</span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>public</span> Result <span style=color:#268bd2>invoke</span>(Invoker<span style=color:#719e07>&lt;?&gt;</span> invoker, Invocation invocation) <span style=color:#268bd2>throws</span> RpcException {
</span></span><span style=display:flex><span> collector.increaseTotalRequests(interfaceName, methodName, group, version);
</span></span><span style=display:flex><span> collector.increaseProcessingRequests(interfaceName, methodName, group, version);
</span></span><span style=display:flex><span> Long startTime <span style=color:#719e07>=</span> System.currentTimeMillis();
</span></span><span style=display:flex><span> <span style=color:#719e07>try</span> {
</span></span><span style=display:flex><span> Result invoke <span style=color:#719e07>=</span> invoker.invoke(invocation);
</span></span><span style=display:flex><span> collector.increaseSucceedRequests(interfaceName, methodName, group, version);
</span></span><span style=display:flex><span> <span style=color:#719e07>return</span> invoke;
</span></span><span style=display:flex><span> } <span style=color:#719e07>catch</span> (RpcException e) {
</span></span><span style=display:flex><span> collector.increaseFailedRequests(interfaceName, methodName, group, version);
</span></span><span style=display:flex><span> <span style=color:#719e07>throw</span> e;
</span></span><span style=display:flex><span> } <span style=color:#719e07>finally</span> {
</span></span><span style=display:flex><span> Long endTime <span style=color:#719e07>=</span> System.currentTimeMillis();
</span></span><span style=display:flex><span> Long rt <span style=color:#719e07>=</span> endTime <span style=color:#719e07>-</span> startTime;
</span></span><span style=display:flex><span> collector.addRT(interfaceName, methodName, group, version, rt);
</span></span><span style=display:flex><span> collector.decreaseProcessingRequests(interfaceName, methodName, group, version);
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><h2 id=2-indicator-identification>2. Indicator identification</h2><p>Use the following five attributes as the isolation level to distinguish and identify different methods, which are also the keys of each ConcurrentHashMap</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span style=color:#268bd2>MethodMetric</span> {
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> String applicationName;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> String interfaceName;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> String methodName;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> String group;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> String version;
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><h2 id=3-basic-indicators>3. Basic indicators</h2><p>Metrics store all metrics data through MetricsCollector under the common module</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span style=color:#268bd2>DefaultMetricsCollector</span> <span style=color:#268bd2>implements</span> MetricsCollector {
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> Boolean collectEnabled <span style=color:#719e07>=</span> <span style=color:#cb4b16>false</span>;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> List<span style=color:#719e07>&lt;</span>MetricsListener<span style=color:#719e07>&gt;</span> listeners <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ArrayList<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> ApplicationModel applicationModel;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> String applicationName;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> totalRequests <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> succeedRequests <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> failedRequests <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> processingRequests <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> lastRT <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, LongAccumulator<span style=color:#719e07>&gt;</span> minRT <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, LongAccumulator<span style=color:#719e07>&gt;</span> maxRT <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> avgRT <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> totalRT <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, AtomicLong<span style=color:#719e07>&gt;</span> rtCount <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> }
</span></span></code></pre></div><h1 id=local-aggregation>local aggregation</h1><p>Local aggregation refers to the process of obtaining quantile indicators by calculating some simple indicators</p><h2 id=1-parameter-design>1. Parameter Design</h2><p>When collecting indicators, only the basic indicators are collected by default, and some stand-alone aggregation indicators need to enable service flexibility or start a new thread calculation after local aggregation. If service flexibility is enabled here, local aggregation is enabled by default</p><h3 id=11-how-to-enable-local-aggregation>1.1 How to enable local aggregation</h3><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:metrics&gt;</span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>&lt;dubbo:aggregation</span> enable=<span style=color:#2aa198>&#34;true&#34;</span> <span style=color:#268bd2>/&gt;</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>&lt;/dubbo:metrics&gt;</span>
</span></span></code></pre></div><h3 id=12-index-aggregation-parameters>1.2 Index Aggregation Parameters</h3><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:metrics&gt;</span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>&lt;dubbo:aggregation</span> enable=<span style=color:#2aa198>&#34;true&#34;</span> bucket-num=<span style=color:#2aa198>&#34;5&#34;</span> time-window-seconds=<span style=color:#2aa198>&#34;10&#34;</span><span style=color:#268bd2>/&gt;</span>
</span></span><span style=display:flex><span><span style=color:#268bd2>&lt;/dubbo:metrics&gt;</span>
</span></span></code></pre></div><h2 id=2-specific-indicators>2. Specific indicators</h2><p>Four key metrics to monitor. They call it the &ldquo;four golden signals&rdquo;: Latency, Traffic, Errors, and Saturation.
Dubbo mainly includes the following monitoring indicators:</p><table><thead><tr><th style=text-align:left></th><th style=text-align:left>infrastructure</th><th style=text-align:left>business monitoring</th></tr></thead><tbody><tr><td style=text-align:left>Latency</td><td style=text-align:left>IO wait; RPC Latency;</td><td style=text-align:left>Interface, average service time, TP90, TP99, TP999, etc.</td></tr><tr><td style=text-align:left>Traffic</td><td style=text-align:left>network and disk IO;</td><td style=text-align:left>QPS at the service level</td></tr><tr><td style=text-align:left>Errors</td><td style=text-align:left>Downtime; disk (bad disk or file system error); process or port hang; network packet loss;</td><td style=text-align:left>Error log; business status code, error code trend;</td></tr><tr><td style=text-align:left>Saturation</td><td style=text-align:left>System resource utilization: CPU, memory, disk, network, etc.; Saturation: number of waiting threads, queue backlog length;</td><td style=text-align:left>This mainly includes JVM, thread pool, etc.</td></tr></tbody></table><ul><li>qps: Get dynamic qps based on sliding window</li><li>rt: Get dynamic rt based on sliding window</li><li>Number of failed requests: Get the number of failed requests in the latest time based on the sliding window</li><li>Number of successful requests: Get the number of successful requests in the latest time based on the sliding window</li><li>The number of processing requests: Add Filter simple statistics before and after</li><li>Specific indicators rely on sliding windows, and additionally use AggregateMetricsCollector to collect</li></ul><p>The relevant indicators output to Prometheus can be referred to as follows:</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-gdscript3 data-lang=gdscript3><span style=display:flex><span><span style=color:#586e75># HELP jvm_gc_live_data_size_bytes Size of long-lived heap memory pool after reclamation</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_gc_live_data_size_bytes gauge</span>
</span></span><span style=display:flex><span>jvm_gc_live_data_size_bytes <span style=color:#2aa198>1.6086528E7</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP requests_succeed_aggregate Aggregated Succeed Requests</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE requests_succeed_aggregate gauge</span>
</span></span><span style=display:flex><span>requests_succeed_aggregate{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>39.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_buffer_memory_used_bytes An estimate of the memory that the Java virtual machine is using for this buffer pool</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_buffer_memory_used_bytes gauge</span>
</span></span><span style=display:flex><span>jvm_buffer_memory_used_bytes{id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;direct&#34;</span>,} <span style=color:#2aa198>1.679975E7</span>
</span></span><span style=display:flex><span>jvm_buffer_memory_used_bytes{id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;mapped&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_gc_memory_allocated_bytes_total Incremented for an increase in the size of the (young) heap memory pool after one GC to before the next</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_gc_memory_allocated_bytes_total counter</span>
</span></span><span style=display:flex><span>jvm_gc_memory_allocated_bytes_total <span style=color:#2aa198>2.9884416E9</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP requests_total_aggregate Aggregated Total Requests</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE requests_total_aggregate gauge</span>
</span></span><span style=display:flex><span>requests_total_aggregate{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>39.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP system_load_average_1m The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE system_load_average_1m gauge</span>
</span></span><span style=display:flex><span>system_load_average_1m <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP system_cpu_usage The &#34;recent cpu usage&#34; for the whole system</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE system_cpu_usage gauge</span>
</span></span><span style=display:flex><span>system_cpu_usage <span style=color:#2aa198>0.015802269043760128</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_threads_peak_threads The peak live thread count since the Java virtual machine started or peak was reset</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_threads_peak_threads gauge</span>
</span></span><span style=display:flex><span>jvm_threads_peak_threads <span style=color:#2aa198>40.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP requests_processing Processing Requests</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE requests_processing gauge</span>
</span></span><span style=display:flex><span>requests_processing{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_memory_max_bytes The maximum amount of memory in bytes that can be used for memory management</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_memory_max_bytes gauge</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;profiled nmethods&#39;&#34;</span>,} <span style=color:#2aa198>1.22912768E8</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Survivor Space&#34;</span>,} <span style=color:#719e07>-</span><span style=color:#2aa198>1.0</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Old Gen&#34;</span>,} <span style=color:#2aa198>9.52107008E8</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Metaspace&#34;</span>,} <span style=color:#719e07>-</span><span style=color:#2aa198>1.0</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Eden Space&#34;</span>,} <span style=color:#719e07>-</span><span style=color:#2aa198>1.0</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;non-nmethods&#39;&#34;</span>,} <span style=color:#2aa198>5828608.0</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Compressed Class Space&#34;</span>,} <span style=color:#2aa198>1.073741824E9</span>
</span></span><span style=display:flex><span>jvm_memory_max_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;non-profiled nmethods&#39;&#34;</span>,} <span style=color:#2aa198>1.22916864E8</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_threads_states_threads The current number of threads having BLOCKED state</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_threads_states_threads gauge</span>
</span></span><span style=display:flex><span>jvm_threads_states_threads{state<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;blocked&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span>jvm_threads_states_threads{state<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;runnable&#34;</span>,} <span style=color:#2aa198>10.0</span>
</span></span><span style=display:flex><span>jvm_threads_states_threads{state<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;waiting&#34;</span>,} <span style=color:#2aa198>16.0</span>
</span></span><span style=display:flex><span>jvm_threads_states_threads{state<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;timed-waiting&#34;</span>,} <span style=color:#2aa198>13.0</span>
</span></span><span style=display:flex><span>jvm_threads_states_threads{state<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;new&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span>jvm_threads_states_threads{state<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;terminated&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_buffer_total_capacity_bytes An estimate of the total capacity of the buffers in this pool</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_buffer_total_capacity_bytes gauge</span>
</span></span><span style=display:flex><span>jvm_buffer_total_capacity_bytes{id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;direct&#34;</span>,} <span style=color:#2aa198>1.6799749E7</span>
</span></span><span style=display:flex><span>jvm_buffer_total_capacity_bytes{id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;mapped&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP rt_p99 Response Time P99</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE rt_p99 gauge</span>
</span></span><span style=display:flex><span>rt_p99{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>1.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_memory_used_bytes The amount of used memory</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_memory_used_bytes gauge</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Survivor Space&#34;</span>,} <span style=color:#2aa198>1048576.0</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;profiled nmethods&#39;&#34;</span>,} <span style=color:#2aa198>1.462464E7</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Old Gen&#34;</span>,} <span style=color:#2aa198>1.6098728E7</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Metaspace&#34;</span>,} <span style=color:#2aa198>4.0126952E7</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Eden Space&#34;</span>,} <span style=color:#2aa198>8.2837504E7</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;non-nmethods&#39;&#34;</span>,} <span style=color:#2aa198>1372032.0</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Compressed Class Space&#34;</span>,} <span style=color:#2aa198>4519248.0</span>
</span></span><span style=display:flex><span>jvm_memory_used_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;non-profiled nmethods&#39;&#34;</span>,} <span style=color:#2aa198>5697408.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP qps Query Per Seconds</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE qps gauge</span>
</span></span><span style=display:flex><span>qps{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>0.3333333333333333</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP rt_min Min Response Time</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE rt_min gauge</span>
</span></span><span style=display:flex><span>rt_min{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_buffer_count_buffers An estimate of the number of buffers in the pool</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_buffer_count_buffers gauge</span>
</span></span><span style=display:flex><span>jvm_buffer_count_buffers{id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;mapped&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span>jvm_buffer_count_buffers{id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;direct&#34;</span>,} <span style=color:#2aa198>10.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP system_cpu_count The number of processors available to the Java virtual machine</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE system_cpu_count gauge</span>
</span></span><span style=display:flex><span>system_cpu_count <span style=color:#2aa198>2.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_classes_loaded_classes The number of classes that are currently loaded in the Java virtual machine</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_classes_loaded_classes gauge</span>
</span></span><span style=display:flex><span>jvm_classes_loaded_classes <span style=color:#2aa198>7325.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP rt_total Total Response Time</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE rt_total gauge</span>
</span></span><span style=display:flex><span>rt_total{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>2783.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP rt_last Last Response Time</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE rt_last gauge</span>
</span></span><span style=display:flex><span>rt_last{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_gc_memory_promoted_bytes_total Count of positive increases in the size of the old generation memory pool before GC to after GC</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_gc_memory_promoted_bytes_total counter</span>
</span></span><span style=display:flex><span>jvm_gc_memory_promoted_bytes_total <span style=color:#2aa198>1.4450952E7</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_gc_pause_seconds Time spent in GC pause</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_gc_pause_seconds summary</span>
</span></span><span style=display:flex><span>jvm_gc_pause_seconds_count{action<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;end of minor GC&#34;</span>,cause<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Metadata GC Threshold&#34;</span>,} <span style=color:#2aa198>2.0</span>
</span></span><span style=display:flex><span>jvm_gc_pause_seconds_sum{action<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;end of minor GC&#34;</span>,cause<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Metadata GC Threshold&#34;</span>,} <span style=color:#2aa198>0.026</span>
</span></span><span style=display:flex><span>jvm_gc_pause_seconds_count{action<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;end of minor GC&#34;</span>,cause<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Evacuation Pause&#34;</span>,} <span style=color:#2aa198>37.0</span>
</span></span><span style=display:flex><span>jvm_gc_pause_seconds_sum{action<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;end of minor GC&#34;</span>,cause<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Evacuation Pause&#34;</span>,} <span style=color:#2aa198>0.156</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_gc_pause_seconds_max Time spent in GC pause</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_gc_pause_seconds_max gauge</span>
</span></span><span style=display:flex><span>jvm_gc_pause_seconds_max{action<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;end of minor GC&#34;</span>,cause<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Metadata GC Threshold&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span>jvm_gc_pause_seconds_max{action<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;end of minor GC&#34;</span>,cause<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Evacuation Pause&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP rt_p95 Response Time P95</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE rt_p95 gauge</span>
</span></span><span style=display:flex><span>rt_p95{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP requests_total Total Requests</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE requests_total gauge</span>
</span></span><span style=display:flex><span>requests_total{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>27738.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP process_cpu_usage The &#34;recent cpu usage&#34; for the Java Virtual Machine process</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE process_cpu_usage gauge</span>
</span></span><span style=display:flex><span>process_cpu_usage <span style=color:#2aa198>8.103727714748784E-4</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP rt_max Max Response Time</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE rt_max gauge</span>
</span></span><span style=display:flex><span>rt_max{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>4.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_gc_max_data_size_bytes Max size of long-lived heap memory pool</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_gc_max_data_size_bytes gauge</span>
</span></span><span style=display:flex><span>jvm_gc_max_data_size_bytes <span style=color:#2aa198>9.52107008E8</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_threads_live_threads The current number of live threads including both daemon and non-daemon threads</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_threads_live_threads gauge</span>
</span></span><span style=display:flex><span>jvm_threads_live_threads <span style=color:#2aa198>39.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_threads_daemon_threads The current number of live daemon threads</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_threads_daemon_threads gauge</span>
</span></span><span style=display:flex><span>jvm_threads_daemon_threads <span style=color:#2aa198>36.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_classes_unloaded_classes_total The total number of classes unloaded since the Java virtual machine has started execution</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_classes_unloaded_classes_total counter</span>
</span></span><span style=display:flex><span>jvm_classes_unloaded_classes_total <span style=color:#2aa198>0.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP jvm_memory_committed_bytes The amount of memory in bytes that is committed for the Java virtual machine to use</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE jvm_memory_committed_bytes gauge</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;profiled nmethods&#39;&#34;</span>,} <span style=color:#2aa198>1.4680064E7</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Survivor Space&#34;</span>,} <span style=color:#2aa198>1048576.0</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Old Gen&#34;</span>,} <span style=color:#2aa198>5.24288E7</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Metaspace&#34;</span>,} <span style=color:#2aa198>4.1623552E7</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;heap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;G1 Eden Space&#34;</span>,} <span style=color:#2aa198>9.0177536E7</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;non-nmethods&#39;&#34;</span>,} <span style=color:#2aa198>2555904.0</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;Compressed Class Space&#34;</span>,} <span style=color:#2aa198>5111808.0</span>
</span></span><span style=display:flex><span>jvm_memory_committed_bytes{area<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;nonheap&#34;</span>,id<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;CodeHeap &#39;non-profiled nmethods&#39;&#34;</span>,} <span style=color:#2aa198>5701632.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP requests_succeed Succeed Requests</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE requests_succeed gauge</span>
</span></span><span style=display:flex><span>requests_succeed{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>27738.0</span>
</span></span><span style=display:flex><span><span style=color:#586e75># HELP rt_avg Average Response Time</span>
</span></span><span style=display:flex><span><span style=color:#586e75># TYPE rt_avg gauge</span>
</span></span><span style=display:flex><span>rt_avg{application_name<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;metrics-provider&#34;</span>,group<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,hostname<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;iZ8lgm9icspkthZ&#34;</span>,interface<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;org.apache.dubbo.samples.metrics.prometheus.api.DemoService&#34;</span>,ip<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;172.28.236.104&#34;</span>,method<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;sayHello&#34;</span>,version<span style=color:#719e07>=</span><span style=color:#2aa198>&#34;&#34;</span>,} <span style=color:#2aa198>0.0</span>
</span></span></code></pre></div><h2 id=aggregate-collector>aggregate collector</h2><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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span style=color:#268bd2>AggregateMetricsCollector</span> <span style=color:#268bd2>implements</span> MetricsCollector, MetricsListener {
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#dc322f>int</span> bucketNum;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#dc322f>int</span> timeWindowSeconds;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, TimeWindowCounter<span style=color:#719e07>&gt;</span> totalRequests <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, TimeWindowCounter<span style=color:#719e07>&gt;</span> succeedRequests <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, TimeWindowCounter<span style=color:#719e07>&gt;</span> failedRequests <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, TimeWindowCounter<span style=color:#719e07>&gt;</span> qps <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> Map<span style=color:#719e07>&lt;</span>MethodMetric, TimeWindowQuantile<span style=color:#719e07>&gt;</span> rt <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> ConcurrentHashMap<span style=color:#719e07>&lt;&gt;</span>();
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> ApplicationModel applicationModel;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>static</span> <span style=color:#268bd2>final</span> Integer DEFAULT_COMPRESSION <span style=color:#719e07>=</span> 100;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>static</span> <span style=color:#268bd2>final</span> Integer DEFAULT_BUCKET_NUM <span style=color:#719e07>=</span> 10;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>static</span> <span style=color:#268bd2>final</span> Integer DEFAULT_TIME_WINDOW_SECONDS <span style=color:#719e07>=</span> 120;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#586e75>//在构造函数中解析配置信息</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>public</span> <span style=color:#268bd2>AggregateMetricsCollector</span>(ApplicationModel applicationModel) {
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.applicationModel <span style=color:#719e07>=</span> applicationModel;
</span></span><span style=display:flex><span> ConfigManager configManager <span style=color:#719e07>=</span> applicationModel.getApplicationConfigManager();
</span></span><span style=display:flex><span> MetricsConfig config <span style=color:#719e07>=</span> configManager.getMetrics().orElse(<span style=color:#cb4b16>null</span>);
</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> (config <span style=color:#719e07>!=</span> <span style=color:#cb4b16>null</span> <span style=color:#719e07>&amp;&amp;</span> config.getAggregation() <span style=color:#719e07>!=</span> <span style=color:#cb4b16>null</span> <span style=color:#719e07>&amp;&amp;</span> Boolean.TRUE.equals(config.getAggregation().getEnabled())) {
</span></span><span style=display:flex><span> <span style=color:#586e75>// only registered when aggregation is enabled.</span>
</span></span><span style=display:flex><span> registerListener();
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> AggregationConfig aggregation <span style=color:#719e07>=</span> config.getAggregation();
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.bucketNum <span style=color:#719e07>=</span> aggregation.getBucketNum() <span style=color:#719e07>==</span> <span style=color:#cb4b16>null</span> <span style=color:#719e07>?</span> DEFAULT_BUCKET_NUM : aggregation.getBucketNum();
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.timeWindowSeconds <span style=color:#719e07>=</span> aggregation.getTimeWindowSeconds() <span style=color:#719e07>==</span> <span style=color:#cb4b16>null</span> <span style=color:#719e07>?</span> DEFAULT_TIME_WINDOW_SECONDS : aggregation.getTimeWindowSeconds();
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>If local aggregation is enabled, listeners are added through spring’s BeanFactory, and AggregateMetricsCollector is bound to DefaultMetricsCollector to implement a survivor-consumer model. DefaultMetricsCollector uses a list of listeners for easy expansion</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>private</span> <span style=color:#dc322f>void</span> <span style=color:#268bd2>registerListener</span>() {
</span></span><span style=display:flex><span> applicationModel.getBeanFactory().getBean(DefaultMetricsCollector.class).addListener(<span style=color:#719e07>this</span>);
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><h2 id=3-index-aggregation>3. Index Aggregation</h2><p>sliding window
Suppose we initially have 6 buckets, and each window time is set to 2 minutes
Every time the index data is written, the data will be written into 6 buckets respectively, and a bucket will be moved every two minutes and the data in the original bucket will be cleared
When reading the indicator, read the bucket pointed to by the current current to achieve the effect of sliding window
Specifically, as shown in the figure below, the current bucket stores the data within the bucket life cycle set in the configuration, that is, the recent data
<img src=/imgs/docs3-v2/java-sdk/observability/aggre.png alt=img_1.png></p><p>In each bucket, use the <strong>TDigest algorithm</strong> to calculate the quantile index</p><blockquote><p><strong>TDigest algorithm</strong> (extreme quantile accuracy is high, such as p1 p99, middle quantile accuracy is low, such as p50), the relevant information is as follows></p><ul><li><a href=https://op8867555.github.io/posts/2018-04-09-tdigest.html>https://op8867555.github.io/posts/2018-04-09-tdigest.html</a></li><li><a href=https://blog.csdn.net/csdnnews/article/details/116246540>https://blog.csdn.net/csdnnews/article/details/116246540</a></li><li>Open Impl:https://github.com/tdunning/t-digest</li></ul></blockquote><p>The code is implemented as follows, in addition to TimeWindowQuantile is used to calculate quantile indicators, and TimeWindowCounter is provided to collect the number of indicators in the time interval</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>public</span> <span style=color:#268bd2>class</span> <span style=color:#268bd2>TimeWindowQuantile</span> {
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> <span style=color:#dc322f>double</span> compression;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> TDigest<span style=color:#719e07>[]</span> ringBuffer;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#dc322f>int</span> currentBucket;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#dc322f>long</span> lastRotateTimestampMillis;
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> <span style=color:#268bd2>final</span> <span style=color:#dc322f>long</span> durationBetweenRotatesMillis;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>public</span> <span style=color:#268bd2>TimeWindowQuantile</span>(<span style=color:#dc322f>double</span> compression, <span style=color:#dc322f>int</span> bucketNum, <span style=color:#dc322f>int</span> timeWindowSeconds) {
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.compression <span style=color:#719e07>=</span> compression;
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.ringBuffer <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> TDigest<span style=color:#719e07>[</span>bucketNum<span style=color:#719e07>]</span>;
</span></span><span style=display:flex><span> <span style=color:#719e07>for</span> (<span style=color:#dc322f>int</span> i <span style=color:#719e07>=</span> 0; i <span style=color:#719e07>&lt;</span> bucketNum; i<span style=color:#719e07>++</span>) {
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.ringBuffer<span style=color:#719e07>[</span>i<span style=color:#719e07>]</span> <span style=color:#719e07>=</span> TDigest.createDigest(compression);
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.currentBucket <span style=color:#719e07>=</span> 0;
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.lastRotateTimestampMillis <span style=color:#719e07>=</span> System.currentTimeMillis();
</span></span><span style=display:flex><span> <span style=color:#719e07>this</span>.durationBetweenRotatesMillis <span style=color:#719e07>=</span> TimeUnit.SECONDS.toMillis(timeWindowSeconds) <span style=color:#719e07>/</span> bucketNum;
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>public</span> <span style=color:#268bd2>synchronized</span> <span style=color:#dc322f>double</span> <span style=color:#268bd2>quantile</span>(<span style=color:#dc322f>double</span> q) {
</span></span><span style=display:flex><span> TDigest currentBucket <span style=color:#719e07>=</span> rotate();
</span></span><span style=display:flex><span> <span style=color:#719e07>return</span> currentBucket.quantile(q);
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>public</span> <span style=color:#268bd2>synchronized</span> <span style=color:#dc322f>void</span> <span style=color:#268bd2>add</span>(<span style=color:#dc322f>double</span> value) {
</span></span><span style=display:flex><span> rotate();
</span></span><span style=display:flex><span> <span style=color:#719e07>for</span> (TDigest bucket : ringBuffer) {
</span></span><span style=display:flex><span> bucket.add(value);
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#268bd2>private</span> TDigest <span style=color:#268bd2>rotate</span>() {
</span></span><span style=display:flex><span> <span style=color:#dc322f>long</span> timeSinceLastRotateMillis <span style=color:#719e07>=</span> System.currentTimeMillis() <span style=color:#719e07>-</span> lastRotateTimestampMillis;
</span></span><span style=display:flex><span> <span style=color:#719e07>while</span> (timeSinceLastRotateMillis <span style=color:#719e07>&gt;</span> durationBetweenRotatesMillis) {
</span></span><span style=display:flex><span> ringBuffer<span style=color:#719e07>[</span>currentBucket<span style=color:#719e07>]</span> <span style=color:#719e07>=</span> TDigest.createDigest(compression);
</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> (<span style=color:#719e07>++</span>currentBucket <span style=color:#719e07>&gt;=</span> ringBuffer.length) {
</span></span><span style=display:flex><span> currentBucket <span style=color:#719e07>=</span> 0;
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> timeSinceLastRotateMillis <span style=color:#719e07>-=</span> durationBetweenRotatesMillis;
</span></span><span style=display:flex><span> lastRotateTimestampMillis <span style=color:#719e07>+=</span> durationBetweenRotatesMillis;
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> <span style=color:#719e07>return</span> ringBuffer<span style=color:#719e07>[</span>currentBucket<span style=color:#719e07>]</span>;
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><h1 id=indicator-push>Indicator push</h1><p>Metrics push can only be enabled after the user has set &lt;dubbo:metrics /> configuration and configured protocol parameters. If only metrics aggregation is enabled, metrics will not be pushed by default.</p><h2 id=1-promehteus-pull-service-discovery>1. Promehteus Pull Service Discovery</h2><p>Use dubbo-admin and other similar middle layers, and push the local IP, Port, and MetricsURL address information to dubbo-admin (or any middle layer) according to the configuration at startup, and expose HTTP ServiceDiscovery for prometheus to read. The configuration method is as follows: dubbo:metrics protocol=&ldquo;prometheus&rdquo; mode=&ldquo;pull&rdquo; address="${dubbo-admin.address}" port=&ldquo;20888&rdquo; url="/metrics"/>, where address is an optional parameter in pull mode, If not filled, the user needs to manually configure the address in the Prometheus configuration file</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-java data-lang=java><span style=display:flex><span><span style=color:#268bd2>private</span> <span style=color:#dc322f>void</span> <span style=color:#268bd2>exportHttpServer</span>() {
</span></span><span style=display:flex><span> <span style=color:#dc322f>boolean</span> exporterEnabled <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_EXPORTER_ENABLED_KEY, <span style=color:#cb4b16>false</span>);
</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> (exporterEnabled) {
</span></span><span style=display:flex><span> <span style=color:#dc322f>int</span> port <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_EXPORTER_METRICS_PORT_KEY, PROMETHEUS_DEFAULT_METRICS_PORT);
</span></span><span style=display:flex><span> String path <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_EXPORTER_METRICS_PATH_KEY, PROMETHEUS_DEFAULT_METRICS_PATH);
</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> (<span style=color:#719e07>!</span>path.startsWith(<span style=color:#2aa198>&#34;/&#34;</span>)) {
</span></span><span style=display:flex><span> path <span style=color:#719e07>=</span> <span style=color:#2aa198>&#34;/&#34;</span> <span style=color:#719e07>+</span> path;
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> <span style=color:#719e07>try</span> {
</span></span><span style=display:flex><span> prometheusExporterHttpServer <span style=color:#719e07>=</span> HttpServer.create(<span style=color:#719e07>new</span> InetSocketAddress(port), 0);
</span></span><span style=display:flex><span> prometheusExporterHttpServer.createContext(path, httpExchange <span style=color:#719e07>-&gt;</span> {
</span></span><span style=display:flex><span> String response <span style=color:#719e07>=</span> prometheusRegistry.scrape();
</span></span><span style=display:flex><span> httpExchange.sendResponseHeaders(200, response.getBytes().length);
</span></span><span style=display:flex><span> <span style=color:#719e07>try</span> (OutputStream os <span style=color:#719e07>=</span> httpExchange.getResponseBody()) {
</span></span><span style=display:flex><span> os.write(response.getBytes());
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> });
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> httpServerThread <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> Thread(prometheusExporterHttpServer::start);
</span></span><span style=display:flex><span> httpServerThread.start();
</span></span><span style=display:flex><span> } <span style=color:#719e07>catch</span> (IOException e) {
</span></span><span style=display:flex><span> <span style=color:#719e07>throw</span> <span style=color:#719e07>new</span> RuntimeException(e);
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><h2 id=2-prometheus-push-pushgateway>2. Prometheus Push Pushgateway</h2><p>Users can directly configure the address of Prometheus Pushgateway in the Dubbo configuration file, such as &lt;dubbo:metrics protocol=&ldquo;prometheus&rdquo; mode=&ldquo;push&rdquo; address="${prometheus.pushgateway-url}" interval=&ldquo;5&rdquo; />, Where interval represents the push interval</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-java data-lang=java><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#268bd2>private</span> <span style=color:#dc322f>void</span> <span style=color:#268bd2>schedulePushJob</span>() {
</span></span><span style=display:flex><span> <span style=color:#dc322f>boolean</span> pushEnabled <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_PUSHGATEWAY_ENABLED_KEY, <span style=color:#cb4b16>false</span>);
</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> (pushEnabled) {
</span></span><span style=display:flex><span> String baseUrl <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_PUSHGATEWAY_BASE_URL_KEY);
</span></span><span style=display:flex><span> String job <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_PUSHGATEWAY_JOB_KEY, PROMETHEUS_DEFAULT_JOB_NAME);
</span></span><span style=display:flex><span> <span style=color:#dc322f>int</span> pushInterval <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_PUSHGATEWAY_PUSH_INTERVAL_KEY, PROMETHEUS_DEFAULT_PUSH_INTERVAL);
</span></span><span style=display:flex><span> String username <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_PUSHGATEWAY_USERNAME_KEY);
</span></span><span style=display:flex><span> String password <span style=color:#719e07>=</span> url.getParameter(PROMETHEUS_PUSHGATEWAY_PASSWORD_KEY);
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> NamedThreadFactory threadFactory <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> NamedThreadFactory(<span style=color:#2aa198>&#34;prometheus-push-job&#34;</span>, <span style=color:#cb4b16>true</span>);
</span></span><span style=display:flex><span> pushJobExecutor <span style=color:#719e07>=</span> Executors.newScheduledThreadPool(1, threadFactory);
</span></span><span style=display:flex><span> PushGateway pushGateway <span style=color:#719e07>=</span> <span style=color:#719e07>new</span> PushGateway(baseUrl);
</span></span><span style=display:flex><span> <span style=color:#719e07>if</span> (<span style=color:#719e07>!</span>StringUtils.isBlank(username)) {
</span></span><span style=display:flex><span> pushGateway.setConnectionFactory(<span style=color:#719e07>new</span> BasicAuthHttpConnectionFactory(username, password));
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> pushJobExecutor.scheduleWithFixedDelay(() <span style=color:#719e07>-&gt;</span> push(pushGateway, job), pushInterval, pushInterval, TimeUnit.SECONDS);
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#268bd2>protected</span> <span style=color:#dc322f>void</span> <span style=color:#268bd2>push</span>(PushGateway pushGateway, String job) {
</span></span><span style=display:flex><span> <span style=color:#719e07>try</span> {
</span></span><span style=display:flex><span> pushGateway.pushAdd(prometheusRegistry.getPrometheusRegistry(), job);
</span></span><span style=display:flex><span> } <span style=color:#719e07>catch</span> (IOException e) {
</span></span><span style=display:flex><span> logger.error(<span style=color:#2aa198>&#34;Error occurred when pushing metrics to prometheus: &#34;</span>, e);
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><div id=pre-footer><h2>Feedback</h2><p class=feedback--prompt>Was this page helpful?</p><button class="btn btn-primary mb-4 feedback--yes">Yes</button>
<button class="btn btn-primary mb-4 feedback--no">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">Last modified January 10, 2023: <a href=https://github.com/apache/dubbo-website/commit/d0ba76bd7ddd8b5aa14c726a366797edf6076a33>Meter design doc (#1815) (d0ba76bd7dd)</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/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/meter.md target=_blank><i class="fa fa-edit fa-fw"></i> Edit this page</a>
<a href="https://github.com/apache/dubbo-website/new/master/content/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/meter.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> Create child page</a>
<a href="https://github.com/apache/dubbo-website/issues/new?title=Meter" target=_blank><i class="fab fa-github fa-fw"></i> Create an issue</a>
<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas fa-tasks fa-fw"></i> Create project issue</a></div><nav id=TableOfContents><ul><li><a href=#1-indicator-access-instructions>1. Indicator access instructions</a></li><li><a href=#2-indicator-system-design>2. Indicator system design</a></li><li><a href=#3-structural-design>3. Structural Design</a></li><li><a href=#4-data-flow>4. data flow</a></li><li><a href=#5-goals>5. Goals</a></li></ul><ul><li><a href=#1-embedding-position>1. Embedding position</a></li><li><a href=#2-indicator-identification>2. Indicator identification</a></li><li><a href=#3-basic-indicators>3. Basic indicators</a></li></ul><ul><li><a href=#1-parameter-design>1. Parameter Design</a><ul><li><a href=#11-how-to-enable-local-aggregation>1.1 How to enable local aggregation</a></li><li><a href=#12-index-aggregation-parameters>1.2 Index Aggregation Parameters</a></li></ul></li><li><a href=#2-specific-indicators>2. Specific indicators</a></li><li><a href=#aggregate-collector>aggregate collector</a></li><li><a href=#3-index-aggregation>3. Index Aggregation</a></li></ul><ul><li><a href=#1-promehteus-pull-service-discovery>1. Promehteus Pull Service Discovery</a></li><li><a href=#2-prometheus-push-pushgateway>2. Prometheus Push Pushgateway</a></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. All Rights Reserved</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>