2021SC@SDUSC
目录
一.简单介绍workflow :搜狗公司C++服务器引擎
二.workflow可以帮我们做什么?
三.环境搭建
四.项目小组分工
一.简单介绍workflow :搜狗公司C++服务器引擎
workflow是搜狗的一个基于C++的并行计算与异步网络引擎。支撑搜狗几乎所有后端C++在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数C++后端开发需求。
workflow引入了任务流概念,实现了计算任务与通信任务的统一和协同调度,秉持着高性能与轻量级两个核心理念。workflow能屏蔽掉所有底层的概念,提供接口调用,这一点十分方便。
二.workflow可以帮我们做什么?
1.快速搭建http服务器
2.作为万能异步客户端。目前支持 http,redis,mysql 和 kafka 协议。
3.轻松构建效率极高的 spider。
4.实现自定义协议 client/server,构建自己的 RPC 系统。
5.自研rpc框架(如srpc)
6.构建异步任务流,支持常用的串并联,也支持更加复杂的 DAG 结构。
7.作为并行计算工具使用。除了网络任务,也包含计算任务的调度。所有类型的任务都可以放入同一个流中。
8.在Linux系统下作为文件异步 IO 工具使用,磁盘IO也是一种任务。
9.实现任何计算与通讯关系非常复杂的高性能高并发的后端服务。
10.构建微服务系统。
11.项目内置服务治理与负载均衡等功能。
关于workflow的源码:
可以参考这个网站——
https://gitee.com/sogou/workflow
三.环境搭建
1、OpenSSL的安装
/source/index.html (openssl.org)
2、CMake的安装
Download | CMake
四.项目小组分工
我负责的部分:
了解分析如何实现数据流的序列化和反序列化,当一个数据流实现序列化和反序列化的时候需要注意些什么,workflow是如何操作和实现的。
成员1负责的部分:workflow如何实现网络传输。
成员2负责的部分:workflow如何实现服务寻址。
----------------------------------------------------------------------------------------------
参考文献:workflow: C++并行计算与异步网络引擎 ⭐️⭐️⭐️ (gitee.com)
序列化和反序列化 - 知乎 (zhihu.com)
(39条消息) 学习搜狗workflow心路历程(1)Windows版本的环境搭建_$firecat全宏的代码足迹$-CSDN博客_workflow 搜狗



