2020 年微服务项目活跃度报告

简介: 2020 年 8 月 18 日,首届云原生微服务大会于线上召开,会议首日,阿里云资深技术专家、CNCF TOC 李响 Keynote 演讲中正式发布了《 2020 年微服务领域开源数字化报告》。

头图.png

导读:2020 年 8 月 18 日,首届云原生微服务大会于线上召开,会议首日,阿里云资深技术专家、CNCF TOC 李响 Keynote 演讲中正式发布了《 2020 年微服务领域开源数字化报告》。

微服务体系就像是一剂催化剂,可以加速数据和业务结合的过程,更好地提升生产力,从而实现业务的提升。本项目旨在通过建立一份建立在微服务领域的相对完整、可以反复进行推演的数据报告(报告、数据、算法均开源),分析微服务框架项目以及 Spring Cloud 项目的 GitHub 开发者行为日志,通过多维度数据分析的视角,来观察微服务领域的开源现状、进展趋势、演化特征等问题。

本报告根据 2020 年 1 月到 6 月的 GitHub 日志进行统计。值得一提的是,报告显示 Apache Dubbo 作为中国本土开源的项目,在微服务框架中排名第 5,全球排名跻身 693;Spring 社区第一个国产 Spring Cloud 项目 Spring Cloud Alibaba 作为开源的微服务全家桶,在 Spring Cloud 榜单中居于榜首。

关键词:微服务、开源、行为数据、GitHub

背景

随着业务的扩张,单体应用架构的开发、部署和运维都会越来越慢,越来越复杂,甚至在单体架构应用开发中敏捷模式无法施展开。基于此,具有更高独立性、可用性和弹性的微服务应运而生。从结构上看,微服务架构将一个应用拆分成多个松耦合的服务,这些服务之间通过某种协议(REST、rpc 等)进行互相协作,完成原单体架构功能,但提供更灵活的部署模式,更容易扩展,降低了开发、运维上的复杂度。微服务的核心思想就是分而治之。微服务是商业应用程序发中最热门的新事物。微服务这个词取代了敏捷、DevOps 和 RESTful。

2020 年 7 月 O’Reilly 公布了一份关于企业微服务市场现状的数据调研。报告显示,在访问了全球 1502 名软件工程师、系统和技术架构师、工程师以及决策者后,有 77% 的组织反馈采用了微服务,其中 92% 的组织成功使用了微服务。了解并分析微服务领域开源项目的发展,有助于掌握该领域的发展趋势,从而帮助提高企业的竞争力。

因此,进一步深入研究微服务领域的开源数字化现状具有非常重大的意义。

总体宏观统计结果

1. Key Takeaways

  • Quarkus 作为云原生微服务框架,在微服务框架中活跃度排名第一,全球 GitHub 开源项目活跃度中排名 40;
  • Spring 作为 Java 微服务框架事实标准,Spring Cloud 和 Spring Boot 项目在微服务框架中活跃度分别位列第二和第三;
  • Apache Dubbo 作为中国本土开源的项目,微服务框架活跃度排名第五,全球 GitHub 开源项目活跃度中排名跻身 693;
  • 在厂商 Spring Cloud 项目中,Spring Cloud Alibaba 活跃度排名第一。

2. 微服务框架榜单

根据附录中给出的项目活跃度定义,我们使用 2020 年 1 月~6 月的数据对微服务框架相关的项目及社区进行了活跃度的统计与排名,结果如下表所示,quarkusio/quarkus 项目、spring-cloud 社区、spring-projects / spring-boot 项目分别位于 Top1,Top2,Top3。需要注意的是,global_rank 是指该项目在全球 GitHub 开源项目中的活跃度排名。

1.jpg
(点击查看大图)

【注】:表格中的 developer 是指执行了五种动作:Issue comment、Open issue、Open pull request、Pull reuqest review comment 和 Pull request merged 的开发者。

3. Spring Cloud 榜单

根据附录中给出的项目活跃度的定义,我们使用 2020 年 1 月~6 月的数据对 Spring Cloud 项目进行了活跃度的统计与排名,结果如下表所示:

2.jpg
(点击查看大图)

【注】:表格中的 developer 是指执行了五种动作:Issue comment、Open issue、Open pull request、Pull reuqest review comment 和 Pull request merged的开发。

展望

此次开源项目数据报告针对微服务领域的项目进行了研究,主要是提供了一些统计数据。未来,会对社区协作关系做可视化的呈现;在数据挖掘的层面,会基于真实数据挖掘数据背后的价值。希望报告所倡导的开源开放的业态有助于推动中国微服务领域的开源走向更深层次。

致谢

本次报告由 X-lab 开放实验室撰写。

3.png

X-lab 开放实验室是由来自华东师范大学、同济大学的师生所构成的开放创新共同体,专业背景包括计算机科学、数据科学及其相关跨学科,长期思考并实践教育与开源两大主题。

附录:数据集及方法

1. 数据集

  • 时间:2020 年 1 月~2020 年 6 月
  • 微服务框架数据

4.jpg

  • spring-cloud 数据集

 

2. 活跃度计算方式

(1)开发者活跃度

开发者活跃度,其定义为某特定 GitHub 账号在一段时间内在某特定 GitHub 项目中的活跃评价指标。其活跃度由该账号在该项目中的行为数据决定。本报告中所关心的行为包含如下几种:

  • Issue comment:在 issue 中参与讨论是最基本的行为,每个评论计入 1 次;
  • Open issue:在项目中发起一个 issue,无论是讨论、Bug 报告或提问,对项目都是带来活跃的,每个发起的 issue 计入 1 次;
  • Open pull request:为项目提交一个 PR,表示已对该项目进行源码贡献,则每次发起一个 PR 计入 1 次;
  • Pull reuqest review comment:对项目中的 PR 进行 review 和讨论,需要对项目有相当的了解,并且对项目源码的质量有极大帮助,每个评论计入 1 次;
  • Pull request merged:若有 PR 被项目合入,即便是很小的改动,也需要对项目有较为深入的理解,是帮助项目进步的真切贡献,则每有一个 PR 被合入计入 1 次。

以上 5 个种行为在该报告模型中,具有不一样的权重,其加权值逐级增加,加权值分别为 1、2、3、4、5,即:

6.png
7.jpg

(2)项目活跃度

项目活跃度,其定义为某特定项目在一段时间内的活跃评价指标。其活跃度由该段时间内在本项目中产生活跃的开发者活跃度加权计算得到,即:

8.png

使用开方的加权方式,用于抹平因核心开发者活跃度过高而导致项目活跃度过高,在该计算方式下,活跃度计算方式对参与人数较多而活跃情况平均的项目更加友好。

 

 

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 面试必问

文章目录面试官:Spring和SprigBoot的区别?面试官:SpringBoot启动流程?面试官:SpringBoot自动配置的原理?面试官:SpringBoot核心注解有哪些以及实现原理?面试官: SpringBoot中配置⽂件的加载顺…

又一低代码平台火了!15 分钟小白轻松开发在线课堂,人人都是开发者时代来了?

据艾瑞咨询统计,2020 年中国在线教育行业市场规模 2573 亿元,过去 4 年的复合增长率达 34.5%。如今在线教育行业如火如荼,亟待一款好的在线教育平台。 此时,不少开发者和教育机构遇到新的难题:如果使用标准化 SaaS 平…

阿里巴巴大数据实践—实时技术

来源:数智化转型俱乐部 数据价值是具有时效性的,在一条数据产生的时候,如果不能及时处理并在业务系统中使用,就不能让数据保持最高的“新鲜度”和价值最大化。 相对于离线批处理技术,流式实时处理技术作为一个非常重…

解压tar.xz文件

解压tar.xz文件: 先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

全民加速节:全站加速在互联网媒体应用上的最佳实践

8月19日,全民加速节第三场直播中,阿里云CDN解决方案架构师拓州进行了《全站加速在媒体服务行业的实践》主题分享,针对互联网媒体服务行业中的特征和痛点,介绍阿里云全站加速产品的应用实践。 互联网媒体服务的特征 互联网媒体服…

云原生全景图之六 | 托管 Kubernetes 和 PaaS 解决什么问题

作者 | Catherine Paganini、Jason Morgan来源 | K8sMeetup头图 | 下载于视觉中国在本系列之前的文章中,我们讨论了 CNCF 云原生全景图的各层:供应层、运行时层、编排管理层以及应用定义和开发层。本文我们将聚焦在平台层。正如我们在本系列文章中看到的…

Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx

Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException错误 springboot最新版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</arti…

报告:5G 网络切片可能会给不法分子留下漏洞!

责编 | 寇雪芹头图 | 下载于视觉中国据爱尔兰安全公司 AdaptiveMobile Security 的一份报告显示&#xff0c;由于缺乏传输层与应用层之间的映射关系&#xff0c;因此结合了传统技术的 5G 网络可能更容易受到威胁。网络切片对于实现5G的许多功能至关重要。网络切片&#xff08;N…

独家下载!小程序Serverless云上开发一站到底

阿里云小程序Serverless 提供包括云函数、数据存储、文件存储等一整套后端服务。开发者通过API 方式即可获取云函数、数据存储、文件存储、音视频、图像处理等服务&#xff0c;不需要关心服务器或底层运维设施&#xff0c;可以更专注于代码和业务本身。 《小程序Serverless 云…

HttpClient如何自定义重试方法

问题&#xff1a; 在写项目的时候&#xff0c;使用到 org.apache.commons.httpclient.HttpClient &#xff0c;进行http请求&#xff0c;发现有时一些链接无法正常连接&#xff0c;这时候就会自动重连3次&#xff0c;导致一个http连接的时间过长。 解决方法&#xff1a; 设置连…

Gartner发布云产品评估报告:阿里云计算能力全球第一

简介&#xff1a; 92.3% 得分率&#xff0c;阿里拿下计算类厂商全球第一。 8月17日消息&#xff0c;国际知名咨询机构Gartner发布了最新云厂商产品评估报告&#xff0c;作为国内唯一入选的云厂商&#xff0c;阿里云在计算大类中&#xff0c;以92.3%的高得分率拿下全球第一&…

携程赴港二次上市在即 “旅游营销枢纽”战略助价值重估

携程董事局主席梁建章发布“旅游营销枢纽战略”4月7日&#xff0c;携程集团有限公司正式启动香港公开发售计划。在赴港二次上市前夕&#xff0c;包括国盛证券、广发证券在内的多家券商公司维持对携程股票“买入”的评级&#xff0c;最新发布的“旅游营销枢纽”战略也将为携程的…

RuoYi-Vue Spring Security 配置介绍

文章目录核心配置类方法注解开关自定义认证规则自定义获取用户详情自定义注解实现匿名访问自定义验证异常处理类自定义登出逻辑流程自定义JWT拦截器核心配置类 核心配置文件 com.ruoyi.framework.config.SecurityConfig.java 方法注解开关 开启全局方法权限配置&#xff0c…

一个易用、易部署的Python遗传算法库

简介&#xff1a; # [scikit-opt](https://github.com/guofei9987/scikit-opt) [![PyPI](https://img.shields.io/pypi/v/scikit-opt)](https://pypi.org/project/scikit-opt/) [![release](https://img.shields.io/github/v/relea scikit-opt 一个封装了7种启发式算法的 Pyth…

如何部署一个Kubernetes集群

来源 | 无敌码农责编 | 寇雪芹头图 | 下载于视觉中国在上一篇文章《Kubernetes和Docker的关系是什么&#xff1f;》中&#xff0c;和大家分享了关于Kubernetes的基本系统架构以及关于容器编排相关的概念&#xff0c;并总体阐述Kubernetes与Docker之间的基本关系。而要学习Kuber…

KubeCon 2020 演讲集锦|《阿里巴巴云原生技术与实践 13 讲》开放下载

2020 年 7 月 30 日至 8 月 1 日&#xff0c;由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 Cloud Native Open Source Virtual Summit China 2020 首次于线上召开。 阿里巴巴在大会上为全球企业和开发者分享了 27 场实践经验、行业趋势和技术演讲&…

RuoYi-Vue Spring Security 密码加密

文章目录一、密码加密配置二、密码匹配~具体使用三、密码加密~具体使用一、密码加密配置 默认密码加密 encode密码加密和matches密码校验 二、密码匹配~具体使用 在登录接口进行用户名密码的验证 抽象方法 进入抽象方法 密码验证&#xff08;明文密码和数据库一打包密已加…

限免下载!揭秘你不知道的计算机“进化论”

计算机的发展&#xff0c;除了ENIAC&#xff0c;你还知道什么&#xff1f; 是不是有点卡顿&#xff01; 没关系&#xff0c;你只会更卡顿&#xff0c;因为下面的这些你可能从未听说&#xff1a; 你知道程序员的“开山鼻祖”是女性吗&#xff1f;你知道“ENIAC”专利曾经被盗吗…

吴文俊人工智能科学技术奖十周年颁奖盛典揭晓,100个项目成果摘得中国智能科学技术奖励最高殊荣

2021年4月10日上午&#xff0c;北京春意盎然&#xff0c;荣耀绽放。我国智能科学技术最高奖“吴文俊人工智能科学技术奖”十周年颁奖盛典在此揭晓。军事科学院系统工程研究院研究员、中国工程院院士李德毅在计算机工程、自动控制、认知科学和无人驾驶等人工智能领域取得多项国际…

RuoYi-Vue Spring Security 登录配置

文章目录自定义用户信息登录接口入口调用loadUserByUsername方法重写实现逻辑自定义配置实现UserDetails接口自定义用户信息 登录接口入口 调用loadUserByUsername方法 重写实现逻辑 咱们自己实现了org.springframework.security.core.userdetails.UserDetailsService类重写lo…