<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Technical Solutions on Apache Dubbo</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/blog/proposals/</link><description>Recent content in Technical Solutions on Apache Dubbo</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-3199--dubbo.netlify.app/en/blog/proposals/index.xml" rel="self" type="application/rss+xml"/><item><title>Dubbo3 Application-Level Service Discovery Design</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/blog/2023/01/30/dubbo3-application-level-service-discovery-design/</link><pubDate>Mon, 30 Jan 2023 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/blog/2023/01/30/dubbo3-application-level-service-discovery-design/</guid><description>&lt;h2 id="objective">Objective&lt;/h2>
&lt;ul>
&lt;li>Significantly reduce resource consumption during the service discovery process, including increasing the registration center&amp;rsquo;s capacity limit and reducing resource usage for consumer address resolution, allowing the Dubbo3 framework to support larger-scale cluster service governance and achieve unlimited horizontal scalability.&lt;/li>
&lt;li>Adapt to underlying infrastructure service discovery models such as Kubernetes, Service Mesh, etc.&lt;/li>
&lt;/ul>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>&lt;img alt="interface-arc" src="https://deploy-preview-3199--dubbo.netlify.app/imgs/blog/proposals/discovery/arc.png">&lt;/p>
&lt;p>We start with the classic working principle diagram of Dubbo; from its design inception, Dubbo has built-in capabilities for service address discovery. Providers register their addresses with the registration center, and consumers subscribe to receive real-time updates about address changes from the registration center. Upon receiving the address list, consumers initiate RPC calls to providers based on specific load balancing strategies.&lt;/p></description></item><item><title>Heuristic Flow Control</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/blog/2023/01/30/heuristic-flow-control/</link><pubDate>Mon, 30 Jan 2023 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/blog/2023/01/30/heuristic-flow-control/</guid><description>&lt;h1 id="overview">Overview&lt;/h1>
&lt;p>The flexible services discussed in this article primarily refer to &lt;strong>load balancing on the consumer side&lt;/strong> and &lt;strong>rate limiting on the provider side&lt;/strong>. In previous versions of Dubbo,&lt;/p>
&lt;ul>
&lt;li>The load balancing component primarily focused on the principle of fairness, meaning that the consumer would choose from providers as equally as possible, which did not perform ideally in certain situations.&lt;/li>
&lt;li>The rate limiting component provided only static rate limiting schemes, requiring users to set static maximum concurrency values on the provider side, which are not easy for users to select reasonably.&lt;/li>
&lt;/ul>
&lt;p>We have made improvements to address these issues.&lt;/p></description></item><item><title>Enhanced HTTP Standard Capabilities of Triple Protocol</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/blog/1/01/01/enhanced-http-standard-capabilities-of-triple-protocol/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/blog/1/01/01/enhanced-http-standard-capabilities-of-triple-protocol/</guid><description>&lt;h2 id="enhanced-http-standard-capabilities-of-triple-protocol---support-for-multiple-content-type">Enhanced HTTP Standard Capabilities of Triple Protocol - Support for Multiple Content-Type&lt;/h2>
&lt;blockquote>
&lt;p>This article focuses on how Triple supports more of the HTTP standard Content-Type and how the service receives these requests.&lt;/p>
&lt;/blockquote>
&lt;h4 id="overview">&lt;strong>Overview&lt;/strong>&lt;/h4>
&lt;p>Triple currently supports two serialization methods: Json and protobuf, corresponding to the ContentTypes:&lt;/p>
&lt;ul>
&lt;li>application/json&lt;/li>
&lt;li>application/grpc+proto&lt;/li>
&lt;/ul>
&lt;p>This poses no issue when both the consumer and provider are backend services. However, for browser clients, they may send a wider variety of ContentTypes, which requires server-side support for decoding, such as:&lt;/p></description></item></channel></rss>