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

Jun Liu updated DUBBO-33:
-------------------------
    Description: 
* 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.




  was:
* 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 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 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.





> 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
>            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)

Reply via email to