blob: d72b340d4a217fa6efaa9ca76ff360d90203fe2f [file]
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.6.0 docs-doc-page docs-doc-id-plugin-center/proxy/dubbo-plugin" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.10.2">
<title data-rh="true">Dubbo Plugin | Apache ShenYu</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://shenyu.apache.org/docs/2.6.0/plugin-center/proxy/dubbo-plugin"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" property="og:locale:alternate" content="zh"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="2.6.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-2.6.0"><meta data-rh="true" name="docsearch:version" content="2.6.0"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-2.6.0"><meta data-rh="true" property="og:title" content="Dubbo Plugin | Apache ShenYu"><meta data-rh="true" name="description" content="dubbo plugin"><meta data-rh="true" property="og:description" content="dubbo plugin"><meta data-rh="true" name="keywords" content="dubbo"><link data-rh="true" rel="icon" href="/img/favicon.svg"><link data-rh="true" rel="canonical" href="https://shenyu.apache.org/docs/2.6.0/plugin-center/proxy/dubbo-plugin"><link data-rh="true" rel="alternate" href="https://shenyu.apache.org/docs/2.6.0/plugin-center/proxy/dubbo-plugin" hreflang="en"><link data-rh="true" rel="alternate" href="https://shenyu.apache.org/zh/docs/2.6.0/plugin-center/proxy/dubbo-plugin" hreflang="zh"><link data-rh="true" rel="alternate" href="https://shenyu.apache.org/docs/2.6.0/plugin-center/proxy/dubbo-plugin" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Dubbo Plugin","item":"https://shenyu.apache.org/docs/2.6.0/plugin-center/proxy/dubbo-plugin"}]}</script><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache ShenYu RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache ShenYu Atom Feed">
<link rel="alternate" type="application/rss+xml" href="/news/rss.xml" title="Apache ShenYu RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/news/atom.xml" title="Apache ShenYu Atom Feed">
<script src="https://widget.kapa.ai/kapa-widget.bundle.js" async data-website-id="b6a69ccf-2d41-41cd-96dd-855ef71b46c7" data-project-name="Apache ShenYu" data-project-color="#FF5C00" data-project-logo="https://shenyu.apache.org/img/favicon.svg" data-language="en" data-color-scheme-selector="html[data-theme=dark]" data-modal-open-on-command-k="true" data-user-analytics-cookie-enabled="false" data-user-analytics-fingerprint-enabled="false" data-modal-title="Apache ShenYu Docs AI" data-launcher-button-text="Ask AI" data-ask-ai-input-placeholder="Ask a question about Apache ShenYu..." data-chat-disclaimer="Answers are generated by AI from the Apache ShenYu documentation and may be inaccurate. Please verify against the official docs." data-example-questions="How do I deploy ShenYu with Docker?,How do I configure the Divide plugin?,How do I use ShenYu with Spring Cloud?,How do I enable rate limiting?" data-launcher-button-background-color="#000033" data-launcher-button-hover-background-color="#1a1a4d" data-launcher-button-color="#ffffff" data-modal-header-background-color="#ffffff" data-modal-header-color="#000033" data-modal-header-background-color-dark="#17171a" data-modal-header-color-dark="#e4e4e7"></script>
<script src="/js/error-suppression.js"></script><link rel="stylesheet" href="/assets/css/styles.d41d8913.css">
<script src="/assets/js/runtime~main.ab7ed176.js" defer="defer"></script>
<script src="/assets/js/main.a4e2a198.js" defer="defer"></script>
</head>
<body>
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Apache ShenYu Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo-light.svg" alt="Apache ShenYu Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/download">Download</a><a class="navbar__item navbar__link" href="/document">Docs</a><a class="navbar__item navbar__link" href="/community/contributor-guide">Community</a><a class="navbar__item navbar__link" href="/team">Team</a><a class="navbar__item navbar__link" href="/event">Event</a><a class="navbar__item navbar__link" href="/news">News</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" href="/users">Users</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">ASF</a><ul class="dropdown__menu"><li><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Foundation</a></li><li><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="dropdown__link">License</a></li><li><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="dropdown__link">Events</a></li><li><a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Security</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Sponsorship</a></li><li><a href="https://www.apache.org/foundation/policies/privacy.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Privacy</a></li><li><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Thanks</a></li></ul></div><a href="https://github.com/apache/shenyu" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>English</a><ul class="dropdown__menu"><li><a href="/docs/2.6.0/plugin-center/proxy/dubbo-plugin" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="en">English</a></li><li><a href="/zh/docs/2.6.0/plugin-center/proxy/dubbo-plugin" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="zh">简体中文</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><div class="navbar__search searchBarContainer_NW3z" dir="ltr"><input placeholder="Search" aria-label="Search" class="navbar__search-input" value=""><div class="loadingRing_RJI3 searchBarLoadingRing_YnHq"><div></div><div></div><div></div><div></div></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/2.6.0/"><span class="linkLabel_WmDU">Overview</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/2.6.0/design/database-design"><span class="categoryLinkLabel_W154">Design</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/2.6.0/deployment/deployment-before"><span class="categoryLinkLabel_W154">Deployment</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/2.6.0/quick-start/quick-start-brpc"><span class="categoryLinkLabel_W154">Quick Start</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/2.6.0/user-guide/admin-usage/api-document"><span class="categoryLinkLabel_W154">User Guide</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/docs/2.6.0/plugin-center/http-process/contextpath-plugin"><span class="categoryLinkLabel_W154">Plugin Center</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/http-process/contextpath-plugin"><span class="categoryLinkLabel_W154">Http Process</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/brpc-plugin"><span class="categoryLinkLabel_W154">Proxy</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/brpc-plugin"><span class="linkLabel_WmDU">Brpc Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/divide-plugin"><span class="linkLabel_WmDU">Divide Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/dubbo-plugin"><span class="linkLabel_WmDU">Dubbo Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/grpc-plugin"><span class="linkLabel_WmDU">gRPC Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/motan-plugin"><span class="linkLabel_WmDU">Motan Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/mqtt-plugin"><span class="linkLabel_WmDU">Mqtt Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/sofa-plugin"><span class="linkLabel_WmDU">Sofa Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/spring-cloud-plugin"><span class="linkLabel_WmDU">Spring Cloud Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/tars-plugin"><span class="linkLabel_WmDU">Tars Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/tcp-plugin"><span class="linkLabel_WmDU">Tcp Plugin</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/2.6.0/plugin-center/proxy/websocket-plugin"><span class="linkLabel_WmDU">Websocket Plugin</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/fault-tolerance/hystrix-plugin"><span class="categoryLinkLabel_W154">Fault Tolerance</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/security/casdoor"><span class="categoryLinkLabel_W154">Security</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/observability/logging-aliyun-sls"><span class="categoryLinkLabel_W154">Observability</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/common/general-context-plugin"><span class="categoryLinkLabel_W154">Common</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/cache/cache-plugin"><span class="categoryLinkLabel_W154">Cache</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/mock/mock-plugin"><span class="categoryLinkLabel_W154">Mock</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/docs/2.6.0/plugin-center/discovery/discovery-mode"><span class="categoryLinkLabel_W154">discovery</span></a></div></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/2.6.0/developer/spi/custom-load-balance"><span class="categoryLinkLabel_W154">Developer</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/2.6.0/benchmark-test/"><span class="linkLabel_WmDU">Benchmark Test</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="theme-doc-version-banner alert alert--warning margin-bottom--md" role="alert"><div>This is documentation for <!-- -->Apache ShenYu<!-- --> <b>2.6.0</b>, which is no longer actively maintained.</div><div class="margin-top--md">For up-to-date documentation, see the <b><a href="/docs/plugin-center/proxy/dubbo-plugin">latest version</a></b> (<!-- -->2.7.1<!-- -->).</div></div><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Plugin Center</span></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Proxy</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Dubbo Plugin</span></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: 2.6.0</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Dubbo Plugin</h1></header><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="explanation">Explanation<a href="#explanation" class="hash-link" aria-label="Direct link to Explanation" title="Direct link to Explanation" translate="no">​</a></h2>
<ul>
<li class="">Dubbo is a plugin that converts <code>http protocol</code> into <code>Dubbo protocol</code> and it is also the key for gateway to realize dubbo generic service.</li>
<li class="">Dubbo plugin needs to cooperate with metadata to realize dubbo calls.</li>
<li class="">Apache Dubbo and Alibaba Dubbo users both use the same plugin.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="plugin-setting">Plugin Setting<a href="#plugin-setting" class="hash-link" aria-label="Direct link to Plugin Setting" title="Direct link to Plugin Setting" translate="no">​</a></h2>
<ul>
<li class="">
<p>Add related dependencies and enable plugin, please refer to: <a class="" href="/docs/2.6.0/quick-start/quick-start-dubbo">Quick start with Dubbo</a> .</p>
</li>
<li class="">
<p><code>Dubbo</code> client access, please refer to: <a class="" href="/docs/2.6.0/user-guide/proxy/dubbo-proxy">Dubbo Proxy</a> .</p>
</li>
<li class="">
<p>Set selector and rule, please refer to: <a class="" href="/docs/2.6.0/user-guide/admin-usage/selector-and-rule">Selector And Rule Config</a> .</p>
</li>
<li class="">
<p>Since <code>version 2.4.3</code>, the new fields and meanings of the dubbo plugin:</p>
</li>
</ul>
<img src="/img/shenyu/plugin/dubbo/dubbo_plugin.png" width="80%" height="80%">
<ul>
<li class="">
<p><code>corethreads</code>:The number of core threads in the business thread pool。</p>
</li>
<li class="">
<p><code>queues</code>:The length of the blocking queue of the business thread pool, 0 means <code>unbounded blocking queue</code>。</p>
</li>
<li class="">
<p><code>threadpool</code>:There are five types of business thread pools: <code>fixed</code>, <code>eager</code>, <code>cached</code>, <code>limited</code> and <code>shared</code>. The first 4 types correspond to the thread pools officially provided by dubbo. Let&#x27;s talk about <code>shared</code>, as its name implies, <code>all proxy plugins</code> share a <code>shared</code> thread pool, the advantage of this is that it can reduce the number of thread pools, thereby reducing memory and improving resource utilization。</p>
</li>
<li class="">
<p><code>threads</code>:The maximum number of threads in the business thread pool。</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="plugin-detail">Plugin Detail<a href="#plugin-detail" class="hash-link" aria-label="Direct link to Plugin Detail" title="Direct link to Plugin Detail" translate="no">​</a></h2>
<p>After the client accesses the <code>ShenYu</code> gateway, it will automatically register the selector and rule information. For details about the selector and rule configuration, see <a class="" href="/docs/2.6.0/user-guide/admin-usage/selector-and-rule">Selector and Rule Config</a> .</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="selector-handler">Selector Handler<a href="#selector-handler" class="hash-link" aria-label="Direct link to Selector Handler" title="Direct link to Selector Handler" translate="no">​</a></h4>
<img src="/img/shenyu/plugin/dubbo/selector_en_new.png" width="80%" height="80%">
<p>Selector Handler, the <code>handle</code> field, is an operation that can be processed by the gateway after matching the traffic. For more information, please refer to <a class="" href="/docs/2.6.0/user-guide/admin-usage/plugin-handle-explanation">Plugin handle management</a> in Plugin Config.</p>
<ul>
<li class="">
<p>details:</p>
<ul>
<li class="">
<p><code>host</code>:host string.</p>
</li>
<li class="">
<p><code>ip:port</code>:ip+port string.</p>
</li>
<li class="">
<p><code>protocol</code>:protocol default is &#x27;http&#x27;.</p>
</li>
<li class="">
<p><code>group</code>:the group of dubbo service.</p>
</li>
<li class="">
<p><code>version</code>:the version of dubbo service.</p>
</li>
<li class="">
<p><code>weight</code>:the server instance and participate in load balancing calculation.</p>
</li>
<li class="">
<p><code>warmupTime</code>:the server&#x27;s warm up time and and participate in load balancing calculation.</p>
</li>
<li class="">
<p><code>startupTime</code>:the server&#x27;s start time.</p>
</li>
<li class="">
<p><code>status</code>:true: the server is available,false: the server is unavailable.</p>
</li>
<li class="">
<p><code>gray</code>:enable gray routing.</p>
</li>
</ul>
</li>
</ul>
<p>Gray routing</p>
<p>if you want to user gray route in dubbo-plugin, you can click the <code>gray</code> button.</p>
<ul>
<li class="">Gray level publishing can customize and control the traffic proportion of new version applications when publishing new version applications, gradually complete the full launch of new version applications, maximize the business risk caused by new version publishing, reduce the impact surface caused by faults, and support rapid roll back.</li>
</ul>
<p>when the gray is open,Gateway load balancing will select one node from the current node list for routing and you can modify node weights to change the weight of nodes in the load balancing algorithm.
It should be noted that,if your business instance not use the client jar of &#x27;shenyu-client-apache-dubbo&#x27; or &#x27;shenyu-client-alibaba-dubbo&#x27;, You should add gray node information manually on this selector page.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="rule-handler">Rule Handler<a href="#rule-handler" class="hash-link" aria-label="Direct link to Rule Handler" title="Direct link to Rule Handler" translate="no">​</a></h4>
<img src="/img/shenyu/plugin/dubbo/rule_en.png" width="80%" height="80%">
<p>Rule Handler, the <code>handle</code> field, can be performed by the gateway after the final matching of traffic. For more information, please refer to <a class="" href="/docs/2.6.0/user-guide/admin-usage/plugin-handle-explanation">Plugin handle management</a> in Plugin Config.</p>
<ul>
<li class="">
<p>details:</p>
<ul>
<li class=""><code>loadbalance</code>:the loadbalance of dubbo service, if the gray node selection fails, the default load balancing method will be used.</li>
</ul>
</li>
<li class="">
<p>Apache ShenYu will obtain the real IP of the corresponding service and initiate rpc proxy calls from registration center of dubbo.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="metadata">Metadata<a href="#metadata" class="hash-link" aria-label="Direct link to Metadata" title="Direct link to Metadata" translate="no">​</a></h2>
<ul>
<li class="">Every dubbo interface method corresponds to a piece of metadata, which can be found in <code>shenyu-admin</code> --&gt; BasicConfig -&gt; Metadata .</li>
</ul>
<img src="/img/shenyu/plugin/dubbo/dubbo-metadata-en.jpg" width="50%">
<ul>
<li class="">
<p>AppName: The name of the application to which this piece of metadata belongs.</p>
</li>
<li class="">
<p>MethodName: The name of the method that needs to be called.</p>
</li>
<li class="">
<p>Path: your http request path.</p>
</li>
<li class="">
<p>PathDescribe: Description of the path, for easy viewing.</p>
</li>
<li class="">
<p>ParamsType: List of parameter types of dubbo interface, there are two declaration methods here:
e.g. we have an interface <code>update(Integer id, String name, Integer age)</code></p>
<ul>
<li class="">
<p>Type list</p>
<div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">java.lang.Integer</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">java.lang.String</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">java.lang.Integer</span><br></div></code></pre></div></div>
<ul>
<li class="">
<p>According to the order of the parameter types of the interface, separated by <code>,</code></p>
</li>
<li class="">
<p>When requesting to pass parameters, <strong>the parameters must be passed in strictly in accordance with the order of the parameter types</strong>, if a parameter without value use <code>null</code> as a placeholder.</p>
<p>Request body example: <code>{&quot;id&quot;:1,&quot;name&quot;: null,&quot;age&quot;:18}</code></p>
</li>
</ul>
</li>
<li class="">
<p>Name mapping</p>
<div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">&quot;id&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token string" style="color:#e3116c">&quot;java.lang.Integer&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">&quot;name&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token string" style="color:#e3116c">&quot;java.lang.String&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">&quot;age&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token string" style="color:#e3116c">&quot;java.lang.Integer&quot;</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><br></div></code></pre></div></div>
<ul>
<li class="">
<p>Use <code>&quot;parameter name&quot;:&quot;parameter type&quot;</code> to represent a parameter, set in order of interface parameter type, separated by <code>,</code></p>
</li>
<li class="">
<p>No need to pay attention to the order when requesting, and no need to use null placeholders.</p>
<p>Request body example: <code>{&quot;name&quot;:&quot;Mike&quot;,&quot;id&quot;:1}</code></p>
</li>
</ul>
</li>
</ul>
</li>
<li class="">
<p>RpcExpand: corresponding to some configurations of dubbo interface; If you want to adjust, please modify here, which support json format like the following fields:</p>
</li>
</ul>
<div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">&quot;timeout&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token number" style="color:#36acaa">10000</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">&quot;group&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token string" style="color:#e3116c">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">version&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token string" style="color:#e3116c">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">&quot;loadbalance&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token string" style="color:#e3116c">&quot;&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain">&quot;retries&quot;</span><span class="token punctuation" style="color:#393A34">:</span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<ul>
<li class="">
<p>Interface: The fully-qualified name for dubbo interface .</p>
</li>
<li class="">
<p>RpcType: Choose <code>dubbo</code> .</p>
</li>
</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href="https://github.com/apache/shenyu-website/edit/main/versioned_docs/version-2.6.0/plugin-center/proxy/dubbo-plugin.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/2.6.0/plugin-center/proxy/divide-plugin"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Divide Plugin</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/2.6.0/plugin-center/proxy/grpc-plugin"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">gRPC Plugin</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#explanation" class="table-of-contents__link toc-highlight">Explanation</a></li><li><a href="#plugin-setting" class="table-of-contents__link toc-highlight">Plugin Setting</a></li><li><a href="#plugin-detail" class="table-of-contents__link toc-highlight">Plugin Detail</a></li><li><a href="#metadata" class="table-of-contents__link toc-highlight">Metadata</a></li></ul></div></div></div></div></main></div></div></div></div>
</body>
</html>