blob: d363e95a83900786e86e81dd15f7d2c1ad0e6e7d [file] [log] [blame]
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – Advanced Features</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/</link><description>Recent content in Advanced Features on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs3-V2: Configuration Framework and Service Behavior</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/service/</guid><description/></item><item><title>Docs3-V2: Observability of Dubbo</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/observability/</guid><description>
&lt;h1 id="observability-of-dubbo">Observability of Dubbo&lt;/h1>
&lt;p>Observability is the ability to observe the internal state of a running system from the outside. It consists of three pillars of logging, metrics and tracing.
To gain insight into what&amp;rsquo;s going on inside Dubbo, Dubbo Observability includes many additional features to help you monitor and manage your application as you push it to production. You can choose to use HTTP endpoints or JMX to manage and monitor the application. Auditing, health and metrics collection can also be automatically applied to applications.&lt;/p>
&lt;p>Dubbo observability mainly manages the following latitudes:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="./meter/">meter&lt;/a>&lt;/li>
&lt;li>&lt;a href="./tracing/">tracing&lt;/a>&lt;/li>
&lt;li>&lt;a href="./logging/">logging&lt;/a>&lt;/li>
&lt;li>&lt;a href="./health-information/">health information&lt;/a>&lt;/li>
&lt;li>&lt;a href="./kubernetes-probes/">kubernetes probes&lt;/a>&lt;/li>
&lt;li>&lt;a href="./doc/">Document case&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Docs3-V2: Traffic Governance Rules</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/traffic/</guid><description>
&lt;h3 id="traffic-management">Traffic Management&lt;/h3>
&lt;p>The essence of traffic management is to distribute requests to application services according to established routing rules, as shown in the following figure:&lt;/p>
&lt;p>&lt;img src="https://dubbo.apache.org/imgs/v3/concepts/what-is-traffic-control.png" alt="What is traffic control">&lt;/p>
&lt;p>in:&lt;/p>
&lt;ul>
&lt;li>There can be multiple routing rules, and different routing rules have priorities. Such as: Router(1) -&amp;gt; Router(2) -&amp;gt; &amp;hellip; -&amp;gt; Router(n)&lt;/li>
&lt;li>A routing rule can route to multiple different application services. For example: Router(2) can route to Service(1) or Service(2)&lt;/li>
&lt;li>Multiple different routing rules can route to the same application service. For example: both Router(1) and Router(2) can route to Service(2)&lt;/li>
&lt;li>Routing rules can also not route to any application service. For example: Router(m) is not routed to any Service, all requests hitting Router(m) will cause errors because there is no corresponding application service processing&lt;/li>
&lt;li>Application service can be a single instance or an application cluster.&lt;/li>
&lt;/ul>
&lt;h3 id="dubbo-mesh-format-traffic-management-introduction">Dubbo Mesh format traffic management introduction&lt;/h3>
&lt;p>Dubbo provides a traffic management strategy that supports the mesh method, which can easily implement &lt;a href="./mesh-style/ab-testing-deployment/">A/B testing&lt;/a>, [canary release](./mesh-style/canary -deployment/), &lt;a href="./mesh-style/blue-green-deployment/">blue-green deployment&lt;/a> and other capabilities.&lt;/p>
&lt;p>Dubbo divides the entire traffic management into two parts: &lt;a href="./mesh-style/virtualservice/">VirtualService&lt;/a> and &lt;a href="./mesh-style/destination-rule/">DestinationRule&lt;/a>. When Consumer receives a request, it will follow &lt;a href="./mesh-style/virtualservice/#dubboroute">DubboRoute&lt;/a> and [DubboRouteDetail](./mesh- style/virtualservice/#dubboroutedetail) is matched to the corresponding subnet in &lt;a href="./mesh-style/virtualservice/#dubbodestination">DubboDestination&lt;/a>, and finally according to the configuration in &lt;a href="./mesh-style/destination-rule/">DestinationRule&lt;/a> The labels in &lt;a href="./mesh-style/destination-rule/#subset">subnet&lt;/a> information find the corresponding Provider cluster that needs specific routing. in:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="./mesh-style/virtualservice/">VirtualService&lt;/a> mainly deals with rules for inbound traffic diversion, and supports service-level and method-level diversion.&lt;/li>
&lt;li>&lt;a href="./mesh-style/virtualservice/#dubboroute">DubboRoute&lt;/a> mainly solves the problem of service level shunting. At the same time, it also provides retry mechanism, timeout, fault injection, mirroring traffic and other capabilities.&lt;/li>
&lt;li>&lt;a href="./mesh-style/virtualservice/#dubboroutedetail">DubboRouteDetail&lt;/a> mainly solves the method-level shunt problem in a service. Supports shunting capabilities in various dimensions such as method name, method parameters, number of parameters, parameter types, headers, etc. At the same time, it also supports method-level retry mechanism, timeout, fault injection, mirroring traffic and other capabilities.&lt;/li>
&lt;li>&lt;a href="./mesh-style/virtualservice/#dubbodestination">DubboDestination&lt;/a> is used to describe the destination address of routing traffic, and supports host, port, subnet and other methods.&lt;/li>
&lt;li>&lt;a href="./mesh-style/destination-rule/">DestinationRule&lt;/a> mainly deals with destination address rules, which can be associated with Provider clusters through hosts, subnet, etc. At the same time, load balancing can be achieved through &lt;a href="./mesh-style/destination-rule/#trafficpolicy">trafficPolicy&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>This design concept solves the coupling problem between traffic diversion and destination address very well. Not only simplifies the configuration rules to effectively avoid the problem of configuration redundancy, but also supports any combination of &lt;a href="./mesh-style/virtualservice/">VirtualService&lt;/a> and &lt;a href="./mesh-style/destination-rule/">DestinationRule&lt;/a>, It can flexibly support various business usage scenarios.&lt;/p></description></item><item><title>Docs3-V2: Diagnostics and Tuning</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/performance/</guid><description/></item><item><title>Docs3-V2: Improve service security</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/security/</guid><description/></item><item><title>Docs3-V2: Others</title><link>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/others/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs3-v2/java-sdk/advanced-features-and-usage/others/</guid><description/></item></channel></rss>