搜狗公司的后端C++编程标准,是一套企业级的程序引擎。主要功能和特点:
这是一个基于C++11 std::function 的异步引擎。用于解决一切关于串行,并行和异步的问题。
作为网络框架,完全协议无关,并且直接面向应用。
可以当作一个异步redis客户端,也可以快速搭建一个Http服务器。
自定义协议非常方便,你可以快速的建立一个自己的RPC系统。
Sogou RPC就是以它为基础开发,作为独立项目开源。该项目支持srpc,brpc和thrift等协议(benchmark)。
支持SSL(依赖openssl)。支持TCP, UDP,SCTP等常用传输层协议。可支持SCTP上的SSL。但不支持UDP server。
原生包含了多种常有互联网协议的实现,并且以统一的方式使用。
目前支持http,redis,mysql和kafka协议,可以直接访问这些资源或搭建这些协议的server。
可能是目前市面上唯一C++全功能的mysql异步客户端。
DNS协议开发中,目前使用系统库访问dns。
包含强大的计算任务调度功能。
计算任务可以和通信任务一样都可以加入任务流,有各自的调度器实现调度。
你可以不用网络功能,把它当并行编程工具来使用。
我们最大的目的就是在计算和通信非常复杂的情况下,最大程度的发挥节点的性能。
提供了一些常用算法实现,例如并行排序,MapReduce。
实际上,一切异步过程(如磁盘IO,GPU任务,定时器等)都可以被协同调度。
如果用户使用Linux系统,磁盘IO任务是是通过Linux底层aio实现,效率极高。
支持任何DAG结构的任务流。但大多数情况下,用户只需要使用串并联结构。
自带负载均衡和强大的服务治理等功能。
可以方便的与其他异步引擎协同使用。
支持streaming的通讯引擎开发中。
作为server使用时,支持多进程模式,支持精确的优雅重启。
github地址:https://github.com/sogou/workflow