Apache Dubbo (Incubating) Open Source Present and Future

Razor

2019/12/10 发布于 技术 分类

文字内容
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 11th 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/incubatordubbo/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, zoneaware routing, canarying, and more. dubbo.apache.org Make Dubbo applications more stable by introducing short-circuit, isolation and flowcontroland 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 Zoneaware 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