Apache-Dubbo-(Incubating)-Open-Source-Present-and-Future
如果无法正常显示,请先停止浏览器的去广告插件。
1. 1
Apache Dubbo (Incubating)
--Present and Future
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
2. Agenda
2
1 2 3 4 5
What’s
Dubbo
How Dubbo
Works
Current
Status
Roadmap
Dubbo at
Apache
6
Contact
Us
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
3. What’s Dubbo
A high performance RPC framework
Open Sourced Project Incubating at Apache
Dubbo |ˈdʌbəʊ| is a java based RPC framework first open-sourced by Alibaba at
2011. Donated to Apache at 2017.
A high performance RPC framework
Based around the idea of defining a service, specifying the methods
that can be called remotely with their parameters and return types.
Beyond RPC: rich features for service governance
Provides features for managing microservices: automatic service
registration & discovery, fault tolerance, load balancing, traffic
management…
Production-tested and Proven At Scale
Wildly adopted in internet companies and financial organizations in
production for years, including Alibaba, JingDong, Kaola, Qunar, etc.
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
3
4. How Dubbo Works
4
A high performance RPC framework
1
3
5
Export
Provider export services at a
specified port.
Subscribe
2 Service Register
Provider register service
metadata to registry.
4
Consumer subscribe services
it interests from Registry.
Invoke
Consumer select a service
provider, start remote call.
Registry
Service Discover
Registry pushes service
instances to Consumer
6
3. subscribe
Consumer
4. notify
5. invoke
6. count
Monitor
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
Provider
1. start
Container
Monitor
Monitor collect and display
invoke statistics.
2. register
5. 5
dubbo.apache.org
v
Copyright © 2018 The Apache Software Foundation
6. Why Maintain Dubbo
6
The reason we restart maintain Dubbo
Strategy
Eco-System
Community
Feedback
Alibaba announced the Dubbo was widly Around Dubbo, we can Ideas from community
development strategy adopted by create a thriving can inspire us ;
of embracing Open organizations. There ecosystem, a one-stop Community can also
Source at Yunqi Con. are plenty of micro service benefit from our
150+ Open Source requirements and governance solution.
experience in large-
projects,ranking top issues reported by scale cluster and
10,170K+ total stars
community.
service management.
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
7. Current Status
7
A star project at Github
Stars increased
77%
Github Increasement
Since re-maintain at 2017-07, we have seen the
Stars, Forks and Watches increased by 7428,
3072 and 745 respectively.
9000
8000
7000
Ranked 11 th in Java category at Github, 2000 UV/day. At OSC 2017, Druid, 6000
FastJson, Dubbo, RocketMq has been voted to the list of「China's most 5000
popular open source software TOP20 」.
4000
3000
Now Dubbo is an incubating project at Apache.
2000
18K
STAR
12K
FORK
3K
1000
0
WATCH
Star
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
Fork
Watch
8. Current Status
Dubbo in production
If you are using Dubbo, please let us know: https://github.com/apache/incubator-
dubbo/issues/1012
According to a survey recently. Dubbo user can be classified into three types: Internet companies, traditional
companies embracing Internet, Companies providing Internet solutions.
Dubbo have Apache PPMC from Dangdang, Qunar, Weidian and Alibaba.
The Dubbo team plans to hold several meetups in Beijing, Shanghai, Shenzhen and Hangzhou. The ideas and speakers
be discussed and selected from community.
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
8
9. Current Status
9
What have we done
Upgrade dependencies to
Meet requirements in
the latest version: Spring,
community: REST, Spring
ZK, Hessian, Netty,
Boot, Hessian, QOS, etc.
Javassist、Validator, etc.
Dependencies
Community
Docs and Website
Releases
Apache
dubbo.apache.org enrichs Keep a relatively quick Donated to Apache, we
with quick start, docs, release cycle, within 11 expect more developers and
samples, community;
month:
organizations get involved in
Rewrite docs using gitbook.
7 maintaince releases.
3 feature releases.
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
the community.
10. Roadmap
01
Microservices: Lightweight, polyglot, REST,
Spring Boot
02
Cloud Native: Spring Cloud, Service Mesh
03
Eco-System: build a one-stop ecosystem
around Dubbo
04
Performance always comes first
Challenges from large-scale clusters
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
10
11. Roadmap
Dubbo Core
Modularization
Fault Tolerant
Service Metadata
Extremely large-scale clusters
The communication layer and service
management layer are highly coupled to each
other.
Metadata need classified by purpose: service
maintenance, remote call, dynamic properties.
Big pressure for Registry and User when
stored in one URL.
Traffic Routing
Provides more routing policies: condition,
script, enabling argument routing, zone-
aware routing, canarying, and more.
dubbo.apache.org
Make Dubbo applications more stable by
introducing short-circuit, isolation and flow-
controland policies.
Latency-aware LoadBalance policies.
Meet the challenges of large scale clusters:
service discovery, memory footprint and
addresses, CPU, etc.
Asynchronism
Promote overall throughput and CPU
utilization of distributed systems: aschronous
API, Reactive, Stream
Copyright © 2018 The Apache Software Foundation
11
12. Roadmap
12
Eco-System – SPI Extension
API
Spring XML
Annotation
Java Config
Spring Boot
Spring Cloud
Reactive
Fluent API
config
registry
ZK
Failsafe
cluster
Failfast
broadcast
eureka
etcd
Failover
Random
Hystrix
Random
Robin
CS
Apollo
hazelcast
Diamond
Archaius
LB
Least
Active
Latency
Script
Canary
Args
Weight
Consiste
nt Hash
Conditio
n
Zone-
aware
Inteligent
router
protocol
serialize
Hessian
Redis
HTTP
JsonRPC
REST
Avro
Thrift
gRPC
JMS
JSON
Java
Hessian2
netty
netty4
XIO
Dubbo
Dubbo3
FST
kryo
Protobuf
HTTP
QUIC
HTTP2
Thrift
Rx
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
transporter
codec
13. Roadmap
13
Eco-System – Polyglot, Diversity, …
PHP
CLIENT
JAVA
CLIENT
HTTP
CLIENT
NODE
CLIENT
PY
CLIENT
GATEWAY/
SIDECAR
SERVICE
DISCOVERY
MOCK
SERVER
DUBBO
SERVICE
TEST
SERVER
DUBBO
SERVICE
SWAGGER
SERVER
DUBBO
SERVICE
DUBBO
ADMIN
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
METRICS/
TRACE
CONFIG
SERVICE
AUTH
SERVICE
14. Roadmap
14
Cloud Native - Dubbo Mesh
REGISTER REGISTER
CONFIG CONFIG
CLUSTER CLUSTER
LOAD BALANCE LOAD BALANCE
DUBBO
RPC
Service Mesh
Low level platforms are providing
more capabilities that usually
exists in higher level frameworks
like Dubbo. Dubbo core itself can
ROUTER ROUTER
Mesh integrate with low level PROTOCOL PROTOCOL
platforms as a data panel.
DUBBO MESH DUBBO MESH
DUBBO
RPC
be more lightweight and Dubbo
Polyglot
Developers can use any language
in a cloud environment. A sidecar
solution integrating service
TRACE
SERVER
SERVICE
DISCOVERY
governance capabilities can easily
CONFIG
SERVICE
support multi-languages. And this
is a problem both Dubbo and
Spring Cloud faces.
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
15. Dubbo at Apache
15
Community Over Code
Phase 1: Preparation
Spend nearly 3 months in total. With 1 champion,
Mentor IP
Clearance First
Release
Proposal SGA Committer
Discuss ICLA PMC
4 mentors. 1 week for proposal preparation,
discussed and voted for 72h respectively,
entered Incubating after 3 binding votes.
Phase 2: Incubating
This phase will take 8+ months. Asset transfer
and community building are the most important
part, Remember the Apache way: community
over code
Vote
Meet Up
Phase 3: Graduation
We will pass the maturity evaluation and then
vote for graduation.
Maturity
Evaluation
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation
TLP
16. 16
Home
dubbo.apache.org
dubbo.io
CONTACT US
GitHub
github.com/apache/incubator-dubbo
github.com/dubbo
Mailing List
WWW.YOURCOMPANY.COM
dev@dubbo.apache.org
IM
gitter.im/alibaba/dubbo
wechat: northlatitute
dubbo.apache.org
Copyright © 2018 The Apache Software Foundation