[
https://issues.apache.org/jira/browse/DUBBO-34?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16811249#comment-16811249
]
Daniela Morais edited comment on DUBBO-34 at 4/5/19 9:04 PM:
-------------------------------------------------------------
Hey,
I wrote my draft and is shared in GSoC and with the dev list. I'm worried if I
should add more details on the "scheduling section" and if the weeks planned
for each task is good enough.
was (Author: danielamorais):
Hey,
I wrote my draft and is shared in GSoC and with the dev list. I'm worried if I
should add more details on the "scheduling section" and if the time planned for
each task is good enough.
> 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.
> How to achieve it, guidance for your reference:
> The new load-balancing strategy should be able to automatically isolate
> abnormal instances based on the statistics of the load or health status of
> the back-end Provider instance. This ensures that traffic is forwarded to the
> processing-capable instance. The load balancer should also know when to
> recover, periodically checks the health status of the isolated instances,
> put back the instance into the normal instance pool to be scheduled once it's
> recovered.
> A quite similar project is [Circuit Breaker|http://example.com], except that
> circuit breaker treats the downstream cluster as a whole while this Load
> Balancer needs to distinguish the state of each instance.
> This topic can be achieved by extending the
> [LoadBalance|https://github.com/apache/incubator-dubbo/blob/master/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/LoadBalance.java]
> SPI.
> To provide the basic statistics for LB to make a decision, you may need to
> count the data of each RPC request, such as QPS, RT, Active Request, etc.
> This can be achieved by extending the
> [Filter|https://github.com/apache/incubator-dubbo/blob/master/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/Filter.java]
> SPI. For more details, see How [MetricsFilter|http://example.com] does it.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)