前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++异步编程开源项目Workflow三岁啦 \^0^/

C++异步编程开源项目Workflow三岁啦 \^0^/

原创
作者头像
1412
发布2023-08-01 23:32:04
2590
发布2023-08-01 23:32:04
举报
文章被收录于专栏:Worklow架构设计Worklow架构设计

Workflow是一个使用任务流做调度、打通计算网络等多种异步资源、实现调度无损耗的企业级、高性能、轻量级C++编程框架。借此开源三周年的机会,本人(也就是Workflow和SRPC的鶸鶸的开发者一枚)开始到腾讯云开发者社区同步一些技术积累~欢迎多多交流^_^ GitHub可以第一时间找到我!

2020年7月29号下午2点,我们在北京五道口搜狐网络大厦开源了Workflow

开源三周年了,也统计了开源以来的一些数据。很开心看到Workflow依然持续获得很多开发者的支持,也很开心看到我们团队也确实做到坚持初心。以下分享出来和大家一起回顾,过去变幻莫测的三年内,能够坚持做一件有趣而有意义的事情是什么样的体验。

GitHub : https://github.com/sogou/workflow

三岁的Workflow

☆ release:20个发版

目前版本v0.10.8Workflow在开源之后持续在开发和优化

最近一年内,一共142个Pull Request,新增了12个主要功能,18个内部优化,修复了大大小小14个bug。

☆ stars:11111

Workflow三岁啦~ 11111星星=。=
Workflow三岁啦~ 11111星星=。=

star中大部分是国内开发者,而国内开发者中里竟然我鹅厂人占比最多(这个比较意外,大概因为鹅厂C++还是主流吧)

其实Workflow一直是小团队开源的作品,不是公司开源KPI,也没有任何组织的推广支持,所以stars数也是自然增长的结果,再次感谢各位小伙伴们的信任~😘

☆ fork:2144

也就是大约5个收藏的开发者,就有1个fork出自己的仓库来魔改/学习,这比例还是比较高的~

☆ commits:2992

平均一天2.7次提交

最早那次在清晨5点,Jun 22 05:19:04 2021,由朱磊同学提交了Kafka异步客户端的重构。

而最晚那次提交是最近的一个深夜4点,Jul 14 04:48:23 2023,由首席架构师优化了Communicator的目标管理。

由于大家感人的作息,Workflow小团队真正实现了7*24三班倒👏~

☆ issue 多久回复:大部分1小时以内

Workflow共有510个issue,平均获得6个回复

放一张图看看Workflow三年来issue响应情况:

每条红柱数据是该月的所有issue的首次响应时间,红柱的下端为最小值,上端为最大值,内部红线为平均值
每条红柱数据是该月的所有issue的首次响应时间,红柱的下端为最小值,上端为最大值,内部红线为平均值

可以看到,Workflow从开源到现在,issue响应依然很快,2023年数据与2020年并没有区别。

取去年7月份普通情况来说,第一次回复时间中位数:29分钟响应!

好啦由于不排除少数情况第一个回复是问题的补充,那么可以看P75,可以说明大部分issue多久回复:是1小时内

这是一个很有价值的数据:开发者团队依然保持开源第一天的热情,三年如一日地去爱护这个项目。

接下来看一些野生的数字。

☆ 生态项目:10+

  • SRPC被收录于CNCF landscape,高性能轻量级RPC框架,也是截至目前唯一一个tRPC协议的开源版实现
  • pyworkflowpython版异步任务编排框架
  • wfrest被收录于awesome-cpp列表REST API提供高性能服务的同时兼具清爽的接口
  • json-parser:主作者写的一千行json解析器
  • workflow-k8s:命名服务打通kubernetes API server的部署插件
  • workflow-polaris:命名服务打通北极星项目的服务发现和注册,公司内线上使用
  • wf-prometheus:自带Var上报metris监控数据的的Prometheus exporter
  • coke:基于C++20 coroutine的Workflow协程版
  • channel双工通信器 :群友魔改版,包含websocket server和client以及通用协议的双工channel
  • mortred_model_server:某算法大神做的在线推理框架,可以充分利用Workflow计算网络无损耗调度提供高性能推理服务

不完全统计,经过issue和群友提过在线上使用或者作为课程作业的也早已上三位数了~

如果小伙伴有相关项目,欢迎积极给我们留言,交流用法~

生态项目与Workflow的关系
生态项目与Workflow的关系

☆ 群友:1370

友军纯度过高,好多小伙伴都在互相帮回答问题,真的很感激QWQ

最常问的问题其实是最简单的问题,比如怎么发post请求、怎么不阻塞当前线程等等,大家要养成看文档翻issue的习惯呀!

恭喜群友eason喜提first blood
恭喜群友eason喜提first blood

☆ Linux发行版官方源:Debian和Fedora

UbuntuDebian Linux的开发者都可以通过官方源安装Workflow了:

代码语言:shell
复制
apt-get install libworkflow-dev

今年Fedora也支持了:

代码语言:shell
复制
dnf install workflow-devel

☆ 开源社区其他积累:

文章:28篇

Workflow与生态项目相关的文章共28篇,纯牛马奖颁给自己🐮🐎。三年来其实不多,今天开始会陆续同步到腾讯云的开发者社区。

视频:1个

去年两周年尝试剪了一个视频,累死累活剪出来1分钟😳,各平台对Workflow都挺器重,也被推荐了。

大会分享:6次。

感谢业界各大会的邀请与认可,横跨疫情的三年Workflow的技术分享不少。

Workflow的开源社区都是少数几个开发者自发维护,发自心底相信想要做好这个项目,而非KPI。这三年来我们从零开始一点点摸索,琢磨怎么做好项目运作,以后也会争取用有限的时间继续发光发热,为小伙伴们积累输出更多。❤

有意思的事情其实还有很多。

比如,去年年底,Workflow支持了xmake编译,并引来xmake作者出手帮改了编译脚本~

xmake作者亲手帮改了xmake
xmake作者亲手帮改了xmake

又比如,去年9月到Boolan的全球C++系统软件技术大会做技术分享,我们邀请了C++开源里另一位知名的万星作者一起去听,还在现场面基了一位有名的芝士博主~

2022年Boolan全球C++及系统软件技术大会
2022年Boolan全球C++及系统软件技术大会

再比如,地球另一端的Debian社区的maintainer其实这两年来一直像朋友一样在联系~

开源不止是有趣的项目,还有很多有趣和闪闪发光的人。

最后po点个人向。

三年前,我只是一个鶸鶸无名的开发者,但是没有忘记多位包容谦逊的业界前辈同行,愿意和我交流技术,帮我们写推荐

三年很长,有些前辈甚至已经不在了,我们陪伴着Workflow来到了新的办公楼,百川也重新起航。

三年很短,看着业界从元宇宙风口到大模型风口,足够看清历史轮回兴衰周期的必然性。

但这个项目依然茁壮成长,希望Workflow可以带给大家的不止是这些崭新的架构设计严谨的代码,还有它技术至上的理念生命力

Workflow可以做的事情还有很多,今年下半年我会注重对“具体应用场景”进行梳理推进,也请各位开发者继续交流指教。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 三岁的Workflow
    • ☆ release:20个发版
      • ☆ stars:11111
        • ☆ fork:2144
          • ☆ commits:2992
            • ☆ issue 多久回复:大部分1小时以内
            • 接下来看一些野生的数字。
              • ☆ 生态项目:10+
                • ☆ 群友:1370
                  • ☆ Linux发行版官方源:Debian和Fedora
                    • ☆ 开源社区其他积累:
                    • 有意思的事情其实还有很多。
                    相关产品与服务
                    云开发 CloudBase
                    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档