搜狗公司C++服务器引擎,支撑搜狗几乎所有后端C++在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数C++后端开发需求。
Sogou C++ Workflow在设计之初,就秉持着高性能与轻量级两个核心理念。长久以来,业界中优化服务器性能都主要专注于如何跑满cpu、如何单独地让网络请求极速响应等方面。而此次上线的搜狗Workflow则更专注于如何让各种网络资源被具体的调度器管理,使其尽可能地全部调度起来。
你可以将Workflow用于快速搭建http服务器:
作为万能异步客户端。目前支持http,redis,mysql和kafka协议。
实现自定义协议client/server,构建自己的RPC系统。srpc就是以它为基础,作为独立项目开源。支持srpc,brpc和thrift等协议。
构建异步任务流,支持常用的串并联,也支持更加复杂的DAG结构。
作为并行编程工具使用。除了网络任务,我们也包含计算任务的调度。所有类型的任务都可以放入同一个流中。
在Linux系统下作为文件异步IO工具使用,性能超过任何标准调用。磁盘IO也是一种任务。
实现任何计算与通讯关系非常复杂的高性能高并发的后端服务。
构建服务网格(service mesh)系统。项目内置服务治理与负载均衡等功能。
在Github上,搜狗还贴心给出了大量的workflow示例,具体如下:
srpc内部实现层次精巧,非常注重纵向层次拆分和横向解耦。其中压缩层、序列化层、协议层是互相解耦的,利用函数重载、派生子类实现父类接口和模版特化等多种多态方式,来实现内部使用同一套代码的高度复用。后续架构升级或者用户进行二次开发,无论是中间再加一层、还是某层内横向添加一种内容,都不需要改动现有的代码,十分方便。(Github地址:https://github.com/sogou/srpc)
不知道你对搜狗这两大开源神器感兴趣么?
转自:开源最前线
微信扫一扫分享