You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@dubbo.apache.org by "Jun Liu (JIRA)" <ji...@apache.org> on 2019/02/03 04:17:00 UTC

[jira] [Updated] (DUBBO-33) GSoC 2019 topics for Apache Dubbo project

     [ https://issues.apache.org/jira/browse/DUBBO-33?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jun Liu updated DUBBO-33:
-------------------------
    Summary: GSoC 2019 topics for Apache Dubbo project  (was: GOSC 2019 topics for Apache Dubbo project)

> GSoC 2019 topics for Apache Dubbo project
> -----------------------------------------
>
>                 Key: DUBBO-33
>                 URL: https://issues.apache.org/jira/browse/DUBBO-33
>             Project: Apache Dubbo
>          Issue Type: Task
>            Reporter: Jun Liu
>            Priority: Major
>              Labels: gsoc2019
>
> * Programming language: Java
> * Area: RPC Framework
> * Keywords: RPC, HTTP2, LoadBalance, Circuit Breaker, Microservices, Cloud Native, Reactive
> Apache Dubbo (incubating) is a high-performance RPC framework that has already been tested in widespread production in large scales. The Dubbo community has grown a lot with high speed since joined ASF in 2018, with 100+ new contributors and 20+ new committers joined.
> This year with GSOC, we will focus on research of some core features Dubbo needed to working as a core component in the modern distributed system, these include development experience,  stability, maintenance, performance and integrating with new tech trends.  In terms of technology topics, you will have the practical opportunity to polish your skills in Microservice Architecture Observability and Reliability, Cloud Native, Reactive and so on. Actually, some of these topics are happening and discussing in the community and some developers may have already started their work. But given the student's zero backgrounds in Dubbo, in order to quick start, we will try to make these topics into practical issues with detailed proposals and expectations. 
> We hope that the attendees can learn some of the key concepts of Microservice and RPC and get the opportunity to build some of the core features of Dubbo. And from the community's perspective, we cannot wait to see your intelligence and bring the community some fresh ideas.
> h2. Developement Experience
> h2. 
> * Fluent -style Builder API build on ServiceConfig, ReferenceConfig, ...
> * Easy-to-use Annotation
>   * <dubbo:service application="demo" registry="zookeeper" />
>   * Method-level annotation
>   * Annotation ans XML
> * Put application-level configurations to a unified place, following the path-based convention.
>   - dubbo.application.qos.enble=6000
>   - dubbo.service.shutdown.timeout
>   - dubbo.heartbeat
>   - dubbo.reconnect
>   - ...
> h2. Performance Tuning
> * Service Discovery: avoid duplicate address computation, avoid recreate of URL.
> * Share thread pool on the consumer side.
> * Refine RPC protocol, avoid useless properties on the wire.
> * ...
> h2. Resilience and Stability
> - Circuit Breaker: Instance and Cluster
> - LoadBalance Policies: for example P2C, JWS
> - Adaptive Concurrency Limit
> - Heartbeat works as a mechanism of recognizing unhealthy connections
> - Deadlines
> - Fault Injection
> - Thread Pool Isolation
> h2. Observability
> * Metrics counted and showed on Dubbo's own dashboard
> * Being able to deliver metrics to open sourced projects like Prometheus.
> h2. SPI Extension
> * Service Directory: Consul, Etcd, ...
> * Config Center: Consul, Etcd, ... 
> * Protocol: http2, ...
> h2. Cloud Native and Reactive
> * Built-in http2 support
> * Interoperability with Microservice Architecture, for example, Spring Cloud.
> * Adapt to K8S and ServiceMesh
> * Fully async stack
> * Reactive across processes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)