Jun Liu created DUBBO-33:
----------------------------
Summary: GOSC 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
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 a 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 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 background in Dubbo, in order to quick start, we will try to
make these topics into practical issues with detailed proposals ans
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 for the community's good, it would be better to have 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 consumer side.
* Refine RPC protocol, avoid useless properties on wire.
* ...
h2. Resillence and Stability
- Cicuit 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. Observibility
* Metrics counted and showed on Dubbo's own dashboard
* Being able to deliveer 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
* Interpobility 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)