servicecomb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9...

18
servicecomb.apache.org github.com/apache?q=servicecomb servicecomb.apache.org github.com/apache?q=servicecomb ServiceComb 开源这两年 2019-6 姜宁

Upload: others

Post on 28-May-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

servicecomb.apache.orggithub.com/apache?q=servicecomb

servicecomb.apache.orggithub.com/apache?q=servicecomb

ServiceComb 开源这两年2019-6 姜宁

Page 2: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

2

github.com/apache?q=servicecomb

servicecomb.apache.org

关于我

• 目前就职于华为开源能力中心

• 前红帽软件主任软件工程师

• Apache软件基金会会员

• 参与Apache软件基金会多个Java 中间件项目

Page 3: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

3

github.com/apache?q=servicecomb

servicecomb.apache.org

ServiceComb 项目介绍• Java Chassis

高性能的微服务框架,提供服务注册发现以及动态配置管理,以及限流降级,

容错熔断等服务治理功能

• Service Center

基于Etcd高性能,高可用服务注册中心

• Pack (Saga)

微服务事务最终一致性问题解决方案,提供一个集中式的事务协调器,协调微

服务之间的事务调用,保证事务最终一致性

https://github.com/apache?q=servicecomb

Page 4: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

4

github.com/apache?q=servicecomb

servicecomb.apache.org

1 2 3 4 5

开源准备 构建社区 Apache基金会孵化 成为顶级项目

ServiceComb开源这两年

一点感悟

Page 5: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

5

github.com/apache?q=servicecomb

servicecomb.apache.org

开源之初-准备

• 为什么要开源?

– 开源与闭源之间的收益区别?

– 项目开源的最大收益什么?

• 开源项目定位

– 项目解决什么样的问题

– 项目开源的目的和价值

– 开源项目与商业产品的关系

Page 6: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

6

github.com/apache?q=servicecomb

servicecomb.apache.org

ServiceComb开源微服务解决方案

ServiceComb微服务解决方案Java编程(POJO/SpringMVC/JAX-

RS)Golang编程

限流 负载均衡

分布式追踪动态配置 服务注册 服务度量

通信协议(Rest&RP

C)边缘服务

熔断/容错 Token认证

Saga事务一致性服务契约

平滑上云

拥抱开源生态

处理链

微服务脚手架

服务安全 治理UI 自动部署 监控运维

Public Cloud

……SpringCloud

SpringBoot

Istio

Apollo SkywalkingZipkin

Prometheus

Dubbo

ServiceMesh

K8S

对接行业解决方案

Page 7: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

7

github.com/apache?q=servicecomb

servicecomb.apache.org

社区胜于代码community over code

社区构建

Page 8: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

8

github.com/apache?q=servicecomb

servicecomb.apache.org

参与度

用户 开发者

贡献者公众

开源社区的参与度

开发人员市场推广

Logo设计

布道师

法律支持

Page 9: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

9

github.com/apache?q=servicecomb

servicecomb.apache.org

社区构建

• 抓住一切机会宣传项目

– 参加各大开发者大会

– 举办线下Meetup

– 利用新媒体全面介绍项目

• 寻找其他人的帮助

– 你不是一个人在路上

– 寻找姊妹项目的支持

– 进入基金会

Page 10: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

10

github.com/apache?q=servicecomb

servicecomb.apache.org

基金会捐赠• 为什么要进基金会

– 长期开源经验积累

– 更多的开发人员提供高质量的软件

– 合作大于竞争,大家可以共享成果

– 免费的培训,规范的流程

– 基础设施,市场,法律支持

• 开源基金会的选择

– 标准相关的 Linux Foundation

– 开发者相关的 Apache Software Foundation

Page 11: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

11

github.com/apache?q=servicecomb

servicecomb.apache.org

Apache孵化器

• 进入ASF孵化的目的

– 学习Apache做事之道

– 构建健康发展的社区

– 完善软件许可(License)

– 与Apache的基础设施集成

– 发布合规版本

Page 12: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

12

github.com/apache?q=servicecomb

servicecomb.apache.org

Apache孵化器

• 进入ASF孵化的步骤

– 提起孵化提案

– 寻找Champion 和Mentor

– 发起投票

– 投票通过在孵化器建立项目

– 签署SGA, CLA, iCLA文件

– 代码库迁移,建立邮件列表, wiki,JIRA

– 商标检索转移工作

– 清理代码,修改包名

– 按照ASF的要求准备第一个release

Page 13: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

13

github.com/apache?q=servicecomb

servicecomb.apache.org

Apache孵化器• 构建完善的社区

– 成立孵化项目管理委员会 PPMC

– 没有在邮件列表发生的事情就没有真的发生

– 通过投票的方式进行决议

• 投票规则 voting rule

• 赞成 +1, 弃权 0, 反对 -1

• 一般会持续 72小时

• 对于产品发布, 需要大于等于3票+1通过

• 反对票需要提出相应的改进建议

– 共识决策

• 决策之前要充分讨论

• 通过懒式方式达成共识

– 新的Committer或者PPMC成员是通过投票产生的

https://incubator.apache.org/guides/community.html

Page 14: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

14

github.com/apache?q=servicecomb

servicecomb.apache.org

Apache孵化器毕业• 社区成熟度模型评估

– 代码,发版,共识决策

• Board决议文档撰写

– PMC成员,PMC Chair,项目章程

• 通过投票的方式进行决议

– PPMC投票

– IPMC投票

• 是否构建了有生命力的社区

• 是否能够自主发布合规版本

https://incubator.apache.org/guides/graduation.html

Page 15: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

15

github.com/apache?q=servicecomb

servicecomb.apache.org

ServiceComb(Apache 孵化之前)

Service CenterJava Chassis

0.1.0

正式开源版本

Service CenterJava Chassis

0.2.0

加入Zuul支持,Spring Boot starter

服务中心优化

Service CenterJava Chassis

0.3.0

Zipkin支持支持自定义SpanSample示例优化

Service CenterJava Chassis

0.4.0

服务中心升级

Service CenterJava Chassis 0.5.0

边缘服务系统Metric

异步调用API

Saga 0.0.1

集中式Saga原型

Saga 0.0.2

Saga调用支持条件判断

2017年6月 2017年8月 2017年10月2017年9月 2017年12月

开发者基本都是华为员工, 邮件列表活跃度 每月10 封, 外部用户 2 家

Page 16: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

16

github.com/apache?q=servicecomb

servicecomb.apache.org

Service CenterJava Chassis

1.1.0

支持K8s部署支持ServiceMesher

服务实例Cache优化支持黑白名单

Service CenterJava Chassis

1.0.0-m1

支持Dev开发模式集成外部配置中心Metrics 监控支持异步编程模型支持ZipkinV2版本支持

Service CenterJava Chassis

1.0.0-m2

提升etcd弹性伸缩边缘服务网关优化

支持文件流上传下载用户自定义访问日志

Service CenterJava Chassis

1.0.0

正式稳定版本发布自动生成脚手架工程

支持Http2协议自定义ping机制

Saga 0.1.0

分布式Pack原型

Pack 0.3.0

优化后台性能支持多种分布式协调机制

多语言框架Omega

2017年12月 2018年3月 2018年8月2018年6月 2018年10月

ServiceComb(Apache之旅)

Saga 0.2.0

Spring Boot 2.x 支持

外部长期贡献者10 + , 邮件列表活跃度 每月180 封, 外部用户 20家

2018年12月 2019年4月

Pack 0.4.0

Alpha Cluster支持Omega动态获取Alpha信息

完善TCC支持

Service CenterJava Chassis

1.2.0

优化云原生环境支持优化Metrics服务

提供服务Inspector多版本Spring-Boot 支持

Apache 毕业

Page 17: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

17

github.com/apache?q=servicecomb

servicecomb.apache.org

一点感悟

• 完整的走了一遍流程,加深了对Apache之道的理解

• 运作开源项目还是很有挑战的

– 不光要会写代码,更要会推销你的点子

• 需要他人帮助的时候,可以想一下自己是否可以帮助他人。

• 代码是死的,构建健康的社区是项目成功的关键

• Public good and Customer good

Page 18: ServiceComb ڙ源ଚ两年servicecomb.apache.org/assets/slides/20190624/1... · 9 github.com/apache?q=servicecomb servicecomb.apache.org ग़区构ژ • ܖ住一切机会宣传ே目

servicecomb.apache.orggithub.com/apache?q=servicecomb

Copyright©2018 Huawei Technologies Co., Ltd. All Rights Reserved.

The information in this document may contain predictive statements including, without

limitation, statements regarding the future financial and operating results, future product

portfolio, new technology, etc. There are a number of factors that could cause actual

results and developments to differ materially from those expressed or implied in the

predictive statements. Therefore, such information is provided for reference purpose

only and constitutes neither an offer nor an acceptance. Huawei may change the

information at any time without notice.

Thank You.