学习搜狗workflow心路历程(1)Windows版本的环境搭建

C++ Parallel Computing and Asynchronous Networking Engine

workflow是搜狗公司C++服务器引擎,支撑搜狗几乎所有后端C++在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数C++后端开发需求。

一、下载搜狗workflow的官方源码

https://github.com/sogou/workflow

https://gitee.com/sogou/workflow 国内镜像

其中,Windows版本是分支,https://github.com/sogou/workflow/tree/windows,使用iocp实现异步网络。

二、环境搭建

1、OpenSSL的安装

从第三方网站,Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions,下载x64位的安装包Win64OpenSSL-1_1_1k.exe

注意事项

openssl在1.0.x之前的版本中,文件为libeay32.dll和ssleay32.dll,在1.1.x之后的版本中,名字是libssl.dll和libcrypto.dll

2、CMake的安装

下载并安装CMake,Windows x64位版本的安装包

Download | CMake

3、WorkFlow源码编译

使用VS2019或者Qt Creator打开工程文件CMakeLists.txt

CMake会自动检测到OpenSSL库的存在:

1> [CMake] -- Found OpenSSL: optimized;C:/Program Files/OpenSSL-Win64/lib/VC/libcrypto64MD.lib;debug;C:/Program Files/OpenSSL-Win64/lib/VC/libcrypto64MDd.lib (found version "1.1.1k")  

然后一键编译,可以生成workflow.lib。

三、案例测试

1、在文件\sogou-cpp-workflow\CMakeLists.txt末尾添加:

SUBDIRS(tutorial)

2、修改\sogou-cpp-workflow\tutorial\CMakeLists.txt文件的局部内容

add_executable(server ${DIR10}/server.cc ${DIR10}/message.cc)
add_executable(client ${DIR10}/client.cc ${DIR10}/message.cc)
target_link_libraries(server ${WORKFLOW_LIB})
target_link_libraries(client ${WORKFLOW_LIB})

add_executable(server_demo ${DIR10}/server.cc ${DIR10}/message.cc)
add_executable(client_demo ${DIR10}/client.cc ${DIR10}/message.cc)
target_link_libraries(server_demo ${WORKFLOW_LIB})
target_link_libraries(client_demo ${WORKFLOW_LIB})

3、可以一键编译案例了。生成的exe需要依赖openssl库:libcrypto-1_1-x64.dll和libssl-1_1-x64.dll。把它们从目录C:\Program Files\OpenSSL-Win64\bin拷贝过来。

4、以Qt Creator打开tutorial-01-wget案例为例,添加命令行参数:

5、运行结果:

大功告成(#^.^#)

---

推荐阅读:

单机40万QPS,搜狗WF框架,今年最值得学习的开源代码

单机40万QPS,搜狗WF框架,今年最值得学习的开源代码_shenjian58的博客-CSDN博客

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值