[
https://issues.apache.org/jira/browse/DUBBO-34?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16781491#comment-16781491
]
Jun Liu commented on DUBBO-34:
------------------------------
Hi, [~danielamorais]
Welcome!
I am happy to see that you are interested in some areas (reactive architecture,
load balancer, service mesh) mentioned in the topic list. I think the easiest
way to get started with is _load balancer_, thanks to Dubbo's SPI extension
model[1], you should be able to develop a new load balance strategy with only
limited knowledge of Dubbo's implementation details. You can see that Dubbo
already provided some load balancers[2], but the key ability these balancers
lack of is that they cannot dynamically distribute traffics among servers
according to each server's load and health status at runtime.
You may find that LeastActiveLoadBalance[3] already has the ability to
distribute traffics according to load of servers at runtime (the load of
backend servers are counted by active requests still handling by server and not
return), but it's not good enough, some of the problems I can tell are:
* Hanging request is not the only metric, other metrics such as RT can also be
an important one?
* The cost of finding the most idle server may increase exponentially.
* Memory explosion maintaining so much server's status.
The links above are some practices published by Finagle and Netflix, you may
find their ideas helpful. Please feel free to realize your great ideas.
1. [http://dubbo.apache.org/en-us/blog/introduction-to-dubbo-spi.html]
2.
[https://github.com/apache/incubator-dubbo/tree/master/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/loadbalance]
3.
[https://github.com/apache/incubator-dubbo/blob/master/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/loadbalance/LeastActiveLoadBalance.java]
> GSoC 2019: New Load Balancer for higher availability and resilience.
> --------------------------------------------------------------------
>
> Key: DUBBO-34
> URL: https://issues.apache.org/jira/browse/DUBBO-34
> Project: Apache Dubbo
> Issue Type: Task
> Reporter: Jun Liu
> Priority: Major
> Labels: GSoC2019
>
> This is an idea for Google Summer of Code (GSoC). Get to know about Dubbo[0].
> As an RPC framework, LoadBalance is a key part of Dubbo for distributing
> traffics among servers. Below are the built-in strategies already supported:
> * Round Robin
> * Least Active
> * Consistent Hash
> * Random
> Now, we are considering some more intelligent and adaptive strategies that
> can learn the healthy status of servers at runtime and automatically adjust
> traffic distributions, something like P2C for Finagle[1 ]and JSQ for
> Netflix[2].
> 0. https://issues.apache.org/jira/browse/DUBBO-33.
> 1. https://twitter.github.io/finagle/guide/Clients.html.
> 2.
> https://medium.com/netflix-techblog/netflix-edge-load-balancing-695308b5548c.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)