c++异步网络库workflow系列教程
文章平均质量分 82
@马云
先天cpp代码圣体
展开
-
SRPC快速入门 - Sogou基于Workflow的自研RPC框架
RPC(Remote Procedure Call),远程过程调用,它把网络交互类比为client调用server上的函数。RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制,让使用者不必显式的区分本地调用和远程调用。原创 2024-03-16 12:57:37 · 2019 阅读 · 0 评论 -
workflow系列教程(9)wfrest之mysql任务
MySQL接口目前支持多种模式基础模式是暴露json接口,可以选择自己剪枝来发送或处理。还有cursor接口,更加高效灵活操作MySQL返回的结果。原创 2024-03-05 15:12:36 · 2209 阅读 · 0 评论 -
workflow系列教程(8)定时器
关于定时器定时器的作用是不占线程的等待一个确定时间,同样通过callback来通知定时器到期。原创 2024-03-05 15:08:34 · 2023 阅读 · 0 评论 -
workflow系列教程(7)mysql任务
用户可以使用WFTaskFactory创建MySQL任务,创建接口与回调函数的用法都与workflow其他任务类似:用户创建完WFMySQLTask之后,可以对req调用 set_query() 写入SQL语句。如果没调用过 set_query() ,task就被start起来的话,则用户会在callback里得到WFT_ERR_MYSQL_QUERY_NOT_SET。其他包括callback、series、user_data等与workflow其他task用法类似。原创 2024-03-04 14:53:40 · 2219 阅读 · 0 评论 -
workflow系列教程(6)实现静态资源服务器
我们不占用任何线程读取文件,而是产生一个异步的读文件任务,在读取完成之后回复请求。再次说明一下,我们需要把完整回复数据读取到内存,才开始回复消息。所以不适合用来传输太大的文件。原创 2024-03-04 14:46:06 · 1963 阅读 · 0 评论 -
WFrest 库:快速、高效的基于workflow的C++异步 Web 框架
WFrest 库是一个简单易用、高效的 C++异步 Web 框架,它能够帮助开发者快速搭建高性能的 HTTP 服务器。如果你正在寻找一个 C++的 Web 框架,那么 WFrest 库绝对值得一试。原创 2023-12-19 19:36:08 · 2408 阅读 · 0 评论 -
workflow系列教程(5-2)实现HTTP反向代理
这是一个http代理服务器,可以配置在浏览器里使用。支持所有的http method。因为https代理的原理不同,这个示例并不支持https代理,你只能浏览http网站。这个proxy在实现上需要抓取下来完整的http页面再转发,下载/上传大文件会有延迟。原创 2023-12-19 11:10:29 · 2325 阅读 · 0 评论 -
workflow系列教程(5-1)HTTP Server
这是一个http server,返回一个html页面,显示浏览器发送的http请求的header信息。程序log里会打印出请求的client地址,请求序号(当前连接上的第几次请求)。当同一连接上完成10次请求,server主动关闭连接。程序通过Ctrl-C正常结束,一切资源完全回收。原创 2023-12-18 19:32:45 · 2167 阅读 · 0 评论 -
workflow系列教程(4)Parallel并联任务流
上一篇博客中讲了串行任务流,有了串行,那必然也有并行,本篇博客讲解任务流并行执行。原创 2023-12-17 19:46:54 · 1883 阅读 · 1 评论 -
C++异步网络库workflow系列教程(3)Series串联任务流
首先,workflow是任务流的意思,在workflow中万物皆为任务流.任务流分为以下两种1.就像链表一样,前面的任务执行完了后执行后面的2.可以理解为开了多个线程,并发执行任务。原创 2023-12-15 17:32:54 · 2637 阅读 · 0 评论 -
workFlow c++异步网络库编译教程与简介
搜狗公司C++服务器引擎,编程范式。支撑搜狗几乎所有后端C++在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理数百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数后端与嵌入式开发需求。编程范式结构化并发与任务隐藏回调与内存回收机制原创 2023-12-12 20:10:59 · 1996 阅读 · 0 评论 -
C++异步网络库workflow入门教程(1)HTTP任务
创建任务方法原型在workflow中所有的客户端任务都放在`WFTaskFactory`工厂类中+ `url:`请求的http url+ `redirect_max:`表示最大重定向次数。如果在请求过程中遇到重定向,该参数指定了最多允许重定向的次数。+ `retry_max`:表示最大重试次数。如果请求失败,该参数指定了最多可以重试的次数。+ `callback`:这是一个回调函数的指针,用于处理请求的响应。原型为`using http_callback_t = std::function原创 2023-12-13 17:38:09 · 1710 阅读 · 2 评论 -
C++异步网络库workflow系列教程(2)redis任务
与http task的get_req()类似,redis task的get_req()返回任务对应的redis request。RedisRequest提供的功能可以在查看。 其中,set_request接口用于设置redis命令。原创 2023-12-14 18:28:56 · 2535 阅读 · 0 评论
分享