搜狗,年度优秀开源项目!

Posted 纯洁的微笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜狗,年度优秀开源项目!相关的知识,希望对你有一定的参考价值。

哈喽,大家好,我是开源君,一个资深的互联网玩家,致力于为大家分享各领域优质开源项目。

今天在逛 GitHub 的时候,发现一个牛逼的项目,搜狗团队重磅开源,项目是关于服务器引擎的,一年时间能有 4.6 K Star,也算火热了,毕竟不是什么教程、Java 受众广的方向。

开源项目是「Workflow」,搜狗架构团队出品。

搜狗,年度优秀开源项目!

要知道服务器引擎这项目,一般程序员是很难搞定的,开源君很好奇,搜狗架构搞的这个项目有多牛逼,就点进去看了一下。

服务器引擎

搜狗搞的这个服务器引擎是啥玩意?

为了研究清楚搜狗团队这个项目,开源君特地进行了资料查阅,其实很多大公司都有自己的服务器引擎,尤其是游戏方向。

Workflow 则是搜狗公司 C ++ 服务器引擎,主要是为了支持搜狗所有后端的 C ++ 在线服务,众所周知,搜狗公司拥有搜索引擎、搜狗拼音,云输入法等,每天都有大量的用户请求。

Workflow则可以满足大多数的 C ++ 后端开发需求,在搜狗企业中起着很重要的作用,特点就是优雅轻盈,它的性能也十分不错,目前已经是搜狗公司级 C ++ 标准,是新一代基于任务流模型的C++异步调度编程范式,解决了C++下异步开发的多个难点。

开源君为此也亲自尝试了一番

使用Workflow可以快速搭建一个 HTTP 服务器,下面有个简单的示例,用 C ++ 轻松实现一个简单的 HttpServer:

#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;
}

既然这个项目这么牛逼,那么是什么原因呢?

Workflow有什么特点呢?

  • 丰富的通用协议实现:HTTP、Redis、mysql、Kafka、WebSocket等

  • 统一计算、网络、文件IO等异步资源

  • 任务流管理(串行、并行、DAG)

  • 简单易上手,无依赖(适合初学者)

  • 性能和稳定性优异

  • 一致的解决方案形成一套完备的编程范式

如何上手?

git clone https://github.com/sogou/workflow # From gitee: git clone https://gitee.com/sogou/workflow
cd workflow
make
cd tutorial
make

目前项目支持 Linux,macOS,Windows,android 等操作系统。

开源君整体体验下来确实牛逼,值得学习,看到评论区有人说是年度最优秀开源项目,开源君无话可说,最后学起来。

我是开源君,点赞 + 在看 还是要在线要求一下,祝各位程序员开发无 Bug发大财,行大运。