2020年微服务领域开源数字化报告
下面是小编为大家整理的2020年微服务领域开源数字化报告,供大家参考。
“
摘要
微服务体系就像是一剂催化剂,可以加速企业数据和业务结合的过程,更好地提升生产力,从而实现业务的快速发展。本项目旨在通过建立一份微服务领域的相对完整、可以反复进行推演的数据报告(报告、数据、算法均开源),分析微服务框架项目以及
S pring
Cl oud
项目的 Gi tHub
开发者行为日志,基于实践中产生的多维度数据分析结论,指导观察微服务领域的开源现状、进展趋势、演化特征等课题。
本报告根据 2020
年 1
月到 6
月的 Gi tHu b
日志进行统计。值得一提的是,报告显示 Ap ach e
Dub bo
作为本土开源的项目,在国产微服务框架中排名第 5,全球排名跻身 693;
Sp ri ng
社区第一个国产 Spring Cl oud
项目 S pring
Cl oud
Ali baba
作为开源的“微服务全家桶”,在 Spri ng
Clou d
榜单中居于榜首。
关键词:微服务、开源、行为数据、Gi tHu b
”
0 背景 1 随着企业的多元化发展和规模的扩张,利用传统的单体架构进行应用的开发、部署和运维会越来越低效、 复杂,对支撑现代化的敏捷研发模式更是力不从心。基于此,具有更高独立性、可用性和弹性伸缩的微服务架构应运而生。微服务的核心思想就是“分而治之”。从结构上看,微服务架构将一个巨石应用拆分成多个松耦合的单个服务,这些服务之间通过某种协议(RES T、rp c
等)进行互相协作,共同完成原单体架构功能。在这种方式下,可以提供更灵活的部署模式,更容易扩展,降低应用开发、运维复杂度,缩短业务交付周期。现在,微服务作为影响商业应用程序构建中最热门的技术趋势之一,通过与敏捷、 DevOps
和 RE STful 等现代化软件研发模式和流程的整合,已经成为企业数字化转型升级的必备武器。
2020
年 7
月 O’Reilly
公布了一份关于企业微服务市场现状的数据调研。报告显示,在访问了全球 1,502
名软件工程师、系统和技术架构师、工程师以及决策者后,有 77%
的组织反馈采用了微服务,其中 92%
的组织成功使用了微服务。了解并分析微服务领域开源项目的发展,有助于掌握该领域的发展趋势,从而帮助提高企业的竞争力。
0 总体 2 宏观统计结果 Key
Takeaways
Qu arkus
作为云原生微服务框架,在微服务框架中活跃度排名第一,全球 GitHub
开源项目活跃度中排名 40
Sp ri ng
作为 Java
微服务框架事实标准,Sp ring
Cloud
和 Spring
Boot
项目在微服务框架中活跃度分别位列第二和第三
Ap ache
Dubb o
作为中国本土开源的项目,微服务框架活跃度排名第五,全球 GitHu b
开源项目活跃度中排名跻身 693
在厂商 Spri ng
Cl ou d
项目中,S pring
Cloud
Alib aba
活跃度排名第一
微服务框架榜单
根据附录中给出的项目活跃度定义,我们使用 2020
年 1
月~6
月的数据,对微服务框架相关的项目及社区进行了活跃度的统计与排名,结果如下表所示,quarkusio/quarkus 项目、spring-cloud
社区、spring-proj - ects/spring-boot
项目分别位于
Top1、Top2、Top3。需要注意的是,global_rank
是指该项目在全球 GitHub
开源项目中的活跃度排名。
Rank
global_ rank
name
activity
issue comment
open issue
open PR
review comment
PR
merged
Developer
1
40
qu arkus io/qu arku s
3684.5 8
18935
1637
2121
6547
1896
1055
3
203
5
693
7
1437
spring- projects/ spring-boot
apache/dubbo
dapr/dapr
1704.33
801.63
515.2
4917
1319
2660
2147
424
401
389
352
372
236
131
880
0
214
332
1091
501
130
9
3180
eclipse- vertx/vert.x
301.02
816
143
80
283
55
135
注:表格中的 devel op er
是指执行了五种动作:Is su e
comment、Open
is s u e、O pen
pull
requ es t、 Pu ll
reuqes t
review
comment
和 P ull
requ es t
merged
的开发者 162
177
58
192
169
575
282.25
swoole/
swoole-src
10
3503
242
4
172
49
128
872
402.7
expressjs/
express
2063
8
2
/
spring-cloud
3222.89
8313
1822
1008
1882
626
1669
575
1604
236
1171
2214
3932
1393.23
micronaut
-projects
/
4
6
1407
dotnet/orleans
521.81
1137
172
222
295
206
212
Spring
Cloud
榜单
根据附录中给出的项目活跃度的定义,我们使用 2020
年 1
月~6
月的数据对 S pri ng
Cl oud
项目进行了活跃度的统计与排名,结果如下表所示:
Rank
global_ rank
name
activity
issue comment
open issue
open PR
review comment
PR
merged
Developer
1
167 4
al ibaba/s pring 3684. 5 8
18935
1637
2121
6547
1896
1055
-cloud-al ibaba
2
19 53
s pri ng-cloud / s pri ng-
3222. 89
8313
1822
1008
1882
626
1669
cl oud-gcp
3
4969
s pri ng- projects /
1704. 33
4917
2147
389
23 6
0
1091
s pri ng-boot
4
497 6
s pri ng-cloud / s pri ng-
1393. 23
3932
117 1
2214
23 6
1604
575
cl oud-netfli x
5
9143
apach e/d ubbo
801. 63
1319
424
35 2
13 1
214
501
6
20845
dotnet/orleans
521. 81
1137
172
222
295
206
212
注:表格中的 devel op er
是指执行了五种动作:Is su e
comment、Open
is s u e、O pen
pull
requ es t、 Pu ll
reuqes t
review
comment
和 P ull
requ es t
merged
的开发者 0 展望 3 此次开源项目数据报告针对微服务领域的项目进行了研究,主要是提供了一些统计数据。未来,会对社 区协作关系做可视化的呈现;在数据挖掘的层面,会基于真实数据挖掘数据背后的价值。希望报告所倡导的开源开放的业态有助于推动中国微服务领域的开源走向更深层次。
0 致谢 4 本次报告由 X-l ab
开放实验室撰写。
X- lab
开放实验室是由来自华东师范大学、同济大学的师生所构成的开放创新共同体,专业背景包括计算机科学、数据科学及其相关跨学科,长期思考并实践教育与开源两大主题。
Microsoft
POrleans
is
a
cross-platform
framework for
building
distributed
applications
with
.NET
dotnet/orleans
附录:数据集及方法 数据集时间 2020
年 1
月~2020
年 6
月
微服务框架数据
名称
项目描述
项目归属
quarkusio/quarkus
Quarkus:
Supersonic
Subatomic
Java.
Redhat
spring-projects/spring-boot micronaut-projects apache/dubbo
Spring
Boot
A
modern,
JVM-based,
full-stack
framework for
building
modular,
easily
testable
microservice
and
serverless applications.
Apache
Dubbo
is
a
high-performance,
java based,
open
source
RPC
framework.
Pivotal
Software,
Inc.
Apache
Software Foundation
dapr/dapr
Dapr
is
a
portable,
event-driven, runtime
for building
distributed
applications
across
cloud and
edge.
Microsoft
servicecomb
Open-Source,
Full-Stack
Microservice
Solution
Apache
Software Foundation
eclipse-vertx/vert.x
tars
Vert.x
is
a
tool-kit
for
building
reactive applications
on
the JVM
TARS
is
a
builder
for
modern
frontend of
any complexity,
which
is
based
on
Gulp.js
Eclipse Foundation
Tencent
servicecomb
Scalable
Open
Financial
Architecture
Stack
蚂蚁金服 OpenJS Foundation
Fast,
unopinionated, minimalist
web
framework for
node.
expressjs/express
Pivotal
Software,
Inc.
Tools
for
building
common
patterns
in distributed
systems
with
Spring
spring-cloud
swoole/swoole-src
Coroutine-based
concurrency
library
for
PHP
韩天峰
sprin g-cloud
数据集
项目名称
项目描述
项目归属
alibaba/spring-cloud-alibaba Sp ring
Cl ou d
Ali bab a
p rovi des
a
one-s top s ol ution
for
ap pl i cation
devel opment
for
the dis trib uted
s olutions
of
Alib aba
mi d dleware.
Alibaba
spring-cloud/spring-cloud-netflix
Integration
with
Netflix
OSS
components.
Netflix
apache/dubbo
Apache
Dubbo
is
a
high-performance,
java based,
open
source
RPC
framework.
Microsoft
Huawei
s p ri ng-cloud-hu awei
is
a
framework
that
makes
it
eas i er to
i ntegrate s pring
cl oud
and Hu awei
frameworks .
dotnet/orleans
Amazon
Integration
for
Amazon
Web
Services
APIs with
Spring.
spring-cloud/spring-cloud-aws
Integration
for
Cloud
Platform APIs with
Spring.
spring-cloud/spring-cloud-gcp
07
活跃度计算方式
(1)开发者活跃度
开发者活跃度,其定义为某特定 Gi tHu b
账号在一段时间内在某特定 GitHub
项目中的活跃评价指标。其活跃度由该账号在该项目中的行为数据决定。本报告中所关心的行为包含如下几种:
Is s u e
comment:在
is su e
中参与讨论是最基本的行为,每个评论计入 1
次。
Op en
i ss ue:在项目中发起一个
is s ue,无论是讨论、B ug
报告或提问,对项目都是能带来活跃的,每个发起的 is s ue
计入 1
次。
Op en
pul l
requ es t:为项目提交一个
PR,表示已对该项目进行源码贡献,则每次发起一个
PR
计入 1
次。
Pu ll
reu q est
revi ew
comment:对项目中的
PR
进行 review
和讨论,需要对项目有相当的了解,并且对项目源码的质量有极大帮助,每个评论计入 1
次。
Pu ll
reques t
merged:若有
P R
被项目合入,即便是很小的改动,也需要对项目有较为深入的理解,是帮助项目进步的真切贡献,则每有一个 PR
被合入计入 1
次。
以上 5
种行为在该报告模型中,具有不一样的权重,其加权值逐级增加,加权值分别为 1、2、3、4、 5,即:
weight
issue
comment
1
open
issue
2
open
PR
3
review
comment
4
PR
merged
5
Is s u e
comment:在
is su e
中参与讨论是最基本的行为,每个评论计入 1
次。
Op en
is s ue:在项目中发起一个
i ss u e,无论是讨论、Bug
报告或提问,对项目都是带来活跃的,每个发起的 is s ue
计入 1
次。
Op en
pul l
requ es t:为项目提交一个
PR,表示已对该项目进行源码贡献,则每次发起一个
PR
计入 1
次。
Pu ll
reu q est
revi ew
comment:对项目中的
PR
进行 review
和讨论,需要对项目有相当的了解,并且对项目源码的质量有极大帮助,每个评论计入 1
次。
Pu ll
reques t
merged:若有
P R
被项目合入,即便是很小的改动,也需要对项目有较为深入的理解,是帮助项目进步的真切贡献,则每有一个 PR
被合入计入 1
次。
以上
5
个种行为在该报告模型中,具有不一样的权重,其加权值逐级增加,加权值分别为
1、2、3、 4、5 ,即:
(2)项目活跃度
项目活跃度,其定义为某特定项目在一段时间内的活跃评价指标。其活跃度由该段时间内在本项目中产生活跃的开发者活跃度加权计算得到,即:
使用开方的加权方式,用于抹平因核心开发者活跃度过高而导致项目活跃度过高,在该计算方式下,活跃度计算方式对参与人数较多而活跃情况平均的项目更加友好。
本报告将周期性更新、发布,报告长期沉淀地址:
https ://githu b .com/alib aba/Op enSourceReport
08
推荐访问:2020年微服务领域开源数字化报告 微服 数字化 开源