实例介绍
【实例简介】搜狗服务器引擎Workflowv0.10.4
搜狗服务器引擎Workflow(搜狗Workflow)是一个C 并行计算与异步网络引擎。搜狗公司C 服务器引擎,支撑搜狗几乎所有后端C 在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数C 后端开发需求。
【实例截图】
【核心代码】
.
├── workflow-v0.10.4
│ ├── BUILD
│ ├── CMakeLists.txt
│ ├── CMakeLists_Headers.txt
│ ├── CODE_OF_CONDUCT.md
│ ├── GNUmakefile
│ ├── LICENSE
│ ├── README.md
│ ├── README_cn.md
│ ├── WORKSPACE
│ ├── benchmark
│ │ ├── CMakeLists.txt
│ │ ├── GNUmakefile
│ │ ├── README.md
│ │ ├── benchmark-01-http_server.cc
│ │ ├── benchmark-02-http_server_long_req.cc
│ │ └── util
│ │ ├── args.h
│ │ ├── content.h
│ │ └── date.h
│ ├── docs
│ │ ├── about-conditional.md
│ │ ├── about-config.md
│ │ ├── about-connection-context.md
│ │ ├── about-counter.md
│ │ ├── about-dns.md
│ │ ├── about-error.md
│ │ ├── about-exit.md
│ │ ├── about-go-task.md
│ │ ├── about-module.md
│ │ ├── about-resource-pool.md
│ │ ├── about-service-governance.md
│ │ ├── about-timeout.md
│ │ ├── about-timer.md
│ │ ├── about-upstream.md
│ │ ├── benchmark.md
│ │ ├── en
│ │ │ ├── CONTRIBUTING.md
│ │ │ ├── about-config.md
│ │ │ ├── about-connection-context.md
│ │ │ ├── about-counter.md
│ │ │ ├── about-dns.md
│ │ │ ├── about-error.md
│ │ │ ├── about-exit.md
│ │ │ ├── about-go-task.md
│ │ │ ├── about-module.md
│ │ │ ├── about-resource-pool.md
│ │ │ ├── about-service-governance.md
│ │ │ ├── about-timeout.md
│ │ │ ├── about-timer.md
│ │ │ ├── about-upstream.md
│ │ │ ├── tutorial-01-wget.md
│ │ │ ├── tutorial-02-redis_cli.md
│ │ │ ├── tutorial-03-wget_to_redis.md
│ │ │ ├── tutorial-04-http_echo_server.md
│ │ │ ├── tutorial-05-http_proxy.md
│ │ │ ├── tutorial-06-parallel_wget.md
│ │ │ ├── tutorial-07-sort_task.md
│ │ │ ├── tutorial-08-matrix_multiply.md
│ │ │ ├── tutorial-09-http_file_server.md
│ │ │ ├── tutorial-10-user_defined_protocol.md
│ │ │ ├── tutorial-12-mysql_cli.md
│ │ │ └── tutorial-13-kafka_cli.md
│ │ ├── tutorial-01-wget.md
│ │ ├── tutorial-02-redis_cli.md
│ │ ├── tutorial-03-wget_to_redis.md
│ │ ├── tutorial-04-http_echo_server.md
│ │ ├── tutorial-05-http_proxy.md
│ │ ├── tutorial-06-parallel_wget.md
│ │ ├── tutorial-07-sort_task.md
│ │ ├── tutorial-08-matrix_multiply.md
│ │ ├── tutorial-09-http_file_server.md
│ │ ├── tutorial-10-user_defined_protocol.md
│ │ ├── tutorial-11-graph_task.md
│ │ ├── tutorial-12-mysql_cli.md
│ │ ├── tutorial-13-kafka_cli.md
│ │ ├── tutorial-15-name_service.md
│ │ └── tutorial-17-dns_cli.md
│ ├── src
│ │ ├── CMakeLists.txt
│ │ ├── algorithm
│ │ │ ├── CMakeLists.txt
│ │ │ ├── DnsRoutine.cc
│ │ │ ├── DnsRoutine.h
│ │ │ ├── MapReduce.h
│ │ │ └── MapReduce.inl
│ │ ├── client
│ │ │ ├── CMakeLists.txt
│ │ │ ├── WFConsulClient.cc
│ │ │ ├── WFConsulClient.h
│ │ │ ├── WFDnsClient.cc
│ │ │ ├── WFDnsClient.h
│ │ │ ├── WFKafkaClient.cc
│ │ │ ├── WFKafkaClient.h
│ │ │ ├── WFMySQLConnection.cc
│ │ │ └── WFMySQLConnection.h
│ │ ├── factory
│ │ │ ├── CMakeLists.txt
│ │ │ ├── DnsTaskImpl.cc
│ │ │ ├── FileTaskImpl.cc
│ │ │ ├── HttpTaskImpl.cc
│ │ │ ├── KafkaTaskImpl.cc
│ │ │ ├── KafkaTaskImpl.inl
│ │ │ ├── MySQLTaskImpl.cc
│ │ │ ├── RedisTaskImpl.cc
│ │ │ ├── WFAlgoTaskFactory.h
│ │ │ ├── WFAlgoTaskFactory.inl
│ │ │ ├── WFConnection.h
│ │ │ ├── WFGraphTask.cc
│ │ │ ├── WFGraphTask.h
│ │ │ ├── WFMessageQueue.cc
│ │ │ ├── WFMessageQueue.h
│ │ │ ├── WFOperator.h
│ │ │ ├── WFResourcePool.cc
│ │ │ ├── WFResourcePool.h
│ │ │ ├── WFTask.h
│ │ │ ├── WFTask.inl
│ │ │ ├── WFTaskError.h
│ │ │ ├── WFTaskFactory.cc
│ │ │ ├── WFTaskFactory.h
│ │ │ ├── WFTaskFactory.inl
│ │ │ ├── Workflow.cc
│ │ │ └── Workflow.h
│ │ ├── include
│ │ │ └── workflow
│ │ │ ├── CommRequest.h
│ │ │ ├── CommScheduler.h
│ │ │ ├── Communicator.h
│ │ │ ├── ConsulDataTypes.h
│ │ │ ├── DnsCache.h
│ │ │ ├── DnsMessage.h
│ │ │ ├── DnsRoutine.h
│ │ │ ├── DnsUtil.h
│ │ │ ├── EncodeStream.h
│ │ │ ├── EndpointParams.h
│ │ │ ├── ExecRequest.h
│ │ │ ├── Executor.h
│ │ │ ├── HttpMessage.h
│ │ │ ├── HttpUtil.h
│ │ │ ├── IORequest.h
│ │ │ ├── IOService_linux.h
│ │ │ ├── IOService_thread.h
│ │ │ ├── KafkaDataTypes.h
│ │ │ ├── KafkaMessage.h
│ │ │ ├── KafkaResult.h
│ │ │ ├── KafkaTaskImpl.inl
│ │ │ ├── LRUCache.h
│ │ │ ├── MapReduce.h
│ │ │ ├── MapReduce.inl
│ │ │ ├── MySQLMessage.h
│ │ │ ├── MySQLMessage.inl
│ │ │ ├── MySQLResult.h
│ │ │ ├── MySQLResult.inl
│ │ │ ├── MySQLUtil.h
│ │ │ ├── PackageWrapper.h
│ │ │ ├── ProtocolMessage.h
│ │ │ ├── RedisMessage.h
│ │ │ ├── RouteManager.h
│ │ │ ├── SSLWrapper.h
│ │ │ ├── SleepRequest.h
│ │ │ ├── StringUtil.h
│ │ │ ├── SubTask.h
│ │ │ ├── URIParser.h
│ │ │ ├── UpstreamManager.h
│ │ │ ├── UpstreamPolicies.h
│ │ │ ├── WFAlgoTaskFactory.h
│ │ │ ├── WFAlgoTaskFactory.inl
│ │ │ ├── WFConnection.h
│ │ │ ├── WFConsulClient.h
│ │ │ ├── WFDnsClient.h
│ │ │ ├── WFDnsResolver.h
│ │ │ ├── WFDnsServer.h
│ │ │ ├── WFFacilities.h
│ │ │ ├── WFFacilities.inl
│ │ │ ├── WFFuture.h
│ │ │ ├── WFGlobal.h
│ │ │ ├── WFGraphTask.h
│ │ │ ├── WFHttpServer.h
│ │ │ ├── WFKafkaClient.h
│ │ │ ├── WFMessageQueue.h
│ │ │ ├── WFMySQLConnection.h
│ │ │ ├── WFMySQLServer.h
│ │ │ ├── WFNameService.h
│ │ │ ├── WFOperator.h
│ │ │ ├── WFRedisServer.h
│ │ │ ├── WFResourcePool.h
│ │ │ ├── WFServer.h
│ │ │ ├── WFServiceGovernance.h
│ │ │ ├── WFTask.h
│ │ │ ├── WFTask.inl
│ │ │ ├── WFTaskError.h
│ │ │ ├── WFTaskFactory.h
│ │ │ ├── WFTaskFactory.inl
│ │ │ ├── Workflow.h
│ │ │ ├── crc32c.h
│ │ │ ├── dns_parser.h
│ │ │ ├── http_parser.h
│ │ │ ├── json_parser.h
│ │ │ ├── kafka_parser.h
│ │ │ ├── list.h
│ │ │ ├── mpoller.h
│ │ │ ├── msgqueue.h
│ │ │ ├── mysql_byteorder.h
│ │ │ ├── mysql_parser.h
│ │ │ ├── mysql_stream.h
│ │ │ ├── mysql_types.h
│ │ │ ├── poller.h
│ │ │ ├── rbtree.h
│ │ │ ├── redis_parser.h
│ │ │ └── thrdpool.h
│ │ ├── kernel
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CommRequest.cc
│ │ │ ├── CommRequest.h
│ │ │ ├── CommScheduler.cc
│ │ │ ├── CommScheduler.h
│ │ │ ├── Communicator.cc
│ │ │ ├── Communicator.h
│ │ │ ├── ExecRequest.h
│ │ │ ├── Executor.cc
│ │ │ ├── Executor.h
│ │ │ ├── IORequest.h
│ │ │ ├── IOService_linux.cc
│ │ │ ├── IOService_linux.h
│ │ │ ├── IOService_thread.cc
│ │ │ ├── IOService_thread.h
│ │ │ ├── SleepRequest.h
│ │ │ ├── SubTask.cc
│ │ │ ├── SubTask.h
│ │ │ ├── list.h
│ │ │ ├── mpoller.c
│ │ │ ├── mpoller.h
│ │ │ ├── msgqueue.c
│ │ │ ├── msgqueue.h
│ │ │ ├── poller.c
│ │ │ ├── poller.h
│ │ │ ├── rbtree.c
│ │ │ ├── rbtree.h
│ │ │ ├── thrdpool.c
│ │ │ └── thrdpool.h
│ │ ├── manager
│ │ │ ├── CMakeLists.txt
│ │ │ ├── DnsCache.cc
│ │ │ ├── DnsCache.h
│ │ │ ├── EndpointParams.h
│ │ │ ├── RouteManager.cc
│ │ │ ├── RouteManager.h
│ │ │ ├── UpstreamManager.cc
│ │ │ ├── UpstreamManager.h
│ │ │ ├── WFFacilities.h
│ │ │ ├── WFFacilities.inl
│ │ │ ├── WFFuture.h
│ │ │ ├── WFGlobal.cc
│ │ │ └── WFGlobal.h
│ │ ├── nameservice
│ │ │ ├── CMakeLists.txt
│ │ │ ├── UpstreamPolicies.cc
│ │ │ ├── UpstreamPolicies.h
│ │ │ ├── WFDnsResolver.cc
│ │ │ ├── WFDnsResolver.h
│ │ │ ├── WFNameService.cc
│ │ │ ├── WFNameService.h
│ │ │ ├── WFServiceGovernance.cc
│ │ │ └── WFServiceGovernance.h
│ │ ├── protocol
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ConsulDataTypes.h
│ │ │ ├── DnsMessage.cc
│ │ │ ├── DnsMessage.h
│ │ │ ├── DnsUtil.cc
│ │ │ ├── DnsUtil.h
│ │ │ ├── HttpMessage.cc
│ │ │ ├── HttpMessage.h
│ │ │ ├── HttpUtil.cc
│ │ │ ├── HttpUtil.h
│ │ │ ├── KafkaDataTypes.cc
│ │ │ ├── KafkaDataTypes.h
│ │ │ ├── KafkaMessage.cc
│ │ │ ├── KafkaMessage.h
│ │ │ ├── KafkaResult.cc
│ │ │ ├── KafkaResult.h
│ │ │ ├── MySQLMessage.cc
│ │ │ ├── MySQLMessage.h
│ │ │ ├── MySQLMessage.inl
│ │ │ ├── MySQLResult.cc
│ │ │ ├── MySQLResult.h
│ │ │ ├── MySQLResult.inl
│ │ │ ├── MySQLUtil.cc
│ │ │ ├── MySQLUtil.h
│ │ │ ├── PackageWrapper.cc
│ │ │ ├── PackageWrapper.h
│ │ │ ├── ProtocolMessage.h
│ │ │ ├── RedisMessage.cc
│ │ │ ├── RedisMessage.h
│ │ │ ├── SSLWrapper.cc
│ │ │ ├── SSLWrapper.h
│ │ │ ├── dns_parser.c
│ │ │ ├── dns_parser.h
│ │ │ ├── http_parser.c
│ │ │ ├── http_parser.h
│ │ │ ├── kafka_parser.c
│ │ │ ├── kafka_parser.h
│ │ │ ├── mysql_byteorder.c
│ │ │ ├── mysql_byteorder.h
│ │ │ ├── mysql_parser.c
│ │ │ ├── mysql_parser.h
│ │ │ ├── mysql_stream.c
│ │ │ ├── mysql_stream.h
│ │ │ ├── mysql_types.h
│ │ │ ├── redis_parser.c
│ │ │ └── redis_parser.h
│ │ ├── server
│ │ │ ├── CMakeLists.txt
│ │ │ ├── WFDnsServer.h
│ │ │ ├── WFHttpServer.h
│ │ │ ├── WFMySQLServer.cc
│ │ │ ├── WFMySQLServer.h
│ │ │ ├── WFRedisServer.h
│ │ │ ├── WFServer.cc
│ │ │ └── WFServer.h
│ │ └── util
│ │ ├── CMakeLists.txt
│ │ ├── EncodeStream.cc
│ │ ├── EncodeStream.h
│ │ ├── LRUCache.h
│ │ ├── StringUtil.cc
│ │ ├── StringUtil.h
│ │ ├── URIParser.cc
│ │ ├── URIParser.h
│ │ ├── crc32c.c
│ │ ├── crc32c.h
│ │ ├── json_parser.c
│ │ └── json_parser.h
│ ├── test
│ │ ├── CMakeLists.txt
│ │ ├── GNUmakefile
│ │ ├── algo_unittest.cc
│ │ ├── dns_unittest.cc
│ │ ├── facilities_unittest.cc
│ │ ├── graph_unittest.cc
│ │ ├── http_unittest.cc
│ │ ├── memory_unittest.cc
│ │ ├── mysql_unittest.cc
│ │ ├── redis_unittest.cc
│ │ ├── resource_unittest.cc
│ │ ├── task_unittest.cc
│ │ ├── upstream_unittest.cc
│ │ └── uriparser_unittest.cc
│ ├── tutorial
│ │ ├── CMakeLists.txt
│ │ ├── GNUmakefile
│ │ ├── tutorial-00-helloworld.cc
│ │ ├── tutorial-01-wget.cc
│ │ ├── tutorial-02-redis_cli.cc
│ │ ├── tutorial-03-wget_to_redis.cc
│ │ ├── tutorial-04-http_echo_server.cc
│ │ ├── tutorial-05-http_proxy.cc
│ │ ├── tutorial-06-parallel_wget.cc
│ │ ├── tutorial-07-sort_task.cc
│ │ ├── tutorial-08-matrix_multiply.cc
│ │ ├── tutorial-09-http_file_server.cc
│ │ ├── tutorial-10-user_defined_protocol
│ │ │ ├── client-uds.cc
│ │ │ ├── client.cc
│ │ │ ├── message.cc
│ │ │ ├── message.h
│ │ │ ├── server-uds.cc
│ │ │ └── server.cc
│ │ ├── tutorial-11-graph_task.cc
│ │ ├── tutorial-12-mysql_cli.cc
│ │ ├── tutorial-13-kafka_cli.cc
│ │ ├── tutorial-15-name_service.cc
│ │ ├── tutorial-16-graceful_restart
│ │ │ ├── bootstrap.c
│ │ │ └── server.cc
│ │ ├── tutorial-17-dns_cli.cc
│ │ └── tutorial-20-reducer.cc
│ └── workflow-config.cmake.in
└── 好例子网_sogou-workflow-v0.10.4.zip
21 directories, 358 files
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论