[
https://issues.apache.org/jira/browse/DUBBO-33?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Huxing Zhang updated DUBBO-33:
------------------------------
Labels: GSoC2019 (was: gsoc2019)
> 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)