As Sogou`s C++ server engine, Sogou C++ Workflow supports almost all back-end C++ online services of Sogou, including all search services, cloud input method, online advertisements, etc., handling more than 10 billion requests every day. This is an enterprise-level programming engine in light and elegant design which can satisfy most C++ back-end development requirements.
- To quickly build an HTTP server:
#include <stdio.h>
#include "workflow/WFHttpServer.h"
int main()
{
WFHttpServer server([](WFHttpTask *task) {
task->get_resp()->append_output_body("<html>Hello World!</html>");
});
if (server.start(8888) == 0) { // start server on port 8888
getchar(); // press "Enter" to end.
server.stop();
}
return 0;
}
- As a multifunctional asynchronous client, it currently supports
HTTP
,Redis
,MySQL
andKafka
protocols. - To implement client/server on user-defined protocol and build your own RPC system.
- srpc is based on it and it is an independent open source project, which supports srpc, brpc, trpc and thrift protocols.
- To build asynchronous workflow; support common series and parallel structures, and also support any DAG structures.
- As a parallel computing tool. In addition to networking tasks, Sogou C++ Workflow also includes the scheduling of computing tasks. All types of tasks can be put into the same flow.
- As an asynchronous file IO tool in
Linux
system, with high performance exceeding any system call. Disk file IO is also a task. - To realize any high-performance and high-concurrency back-end service with a very complex relationship between computing and networking.
- To build a micro service system.
- This project has built-in service governance and load balancing features.
- Wiki link : PaaS Architecture