色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

workflow:適合C++開發者進階的開源項目

嵌入式學習站 ? 來源:嵌入式學習站 ? 作者:嵌入式學習站 ? 2022-11-25 16:28 ? 次閱讀

今天分享一個適合C++開發者進階的開源項目,這個項目的名字叫workflow,項目地址如下:https://github.com/sogou/workflow

a4c940ae-6b11-11ed-8abf-dac502259ad0.png

項目適用場景

該項目是搜狗的服務器引擎,幾乎搜狗所有的后端C++服務和其他幾十家公司都在使用這個引擎,每日處理超百億請求。

不僅如此,該項目也非常適合在嵌入式應用上實現網絡的框架設計,框架設計是一個項目成功與否非常重要的環節,而網絡在AIOT、智能家居智能硬件上尤其重要。

比如在項目中需要使用http,Workflow在設計上可以通過Cmake配置支持windows 或者 Linux 或 MacOS 等多個平臺上的多個項目編譯,而且,可以在不同平臺上保持相同的接口

如果你新增一個嵌入式設備,比如ESP32,在服務器和客戶端只需要維護一套代碼,就可以完成自己的應用需求。

真正做到把云端的技術移植到嵌入式設備上運行。

適用于嵌入式幾大特點:

1、支持多平臺、多體系結構

多平臺的代碼說明在配置和耦合上考慮了很多設計上的細節。?前Workflow除了Linux、Windows、MacOS、Android以外,還可以愉快地在樹莓派、國產?芯處理器等不同體系結構上運?。

2、編譯快

Workflow除OpenSSL以外不依賴其他庫,?且在接口層是沒有模版的,因此編譯速度?常快,不到一分鐘即可編出一個可?的lib。

3、體積小、支持編譯剪裁

Workflow的Kafka協議默認是不編譯的,除此之外,還可以裁剪掉其他不常?的模塊。

并且可以通過strip命令去掉符號鏈接,即可讓庫?件縮?到400k左右。

4、運行時內存小、調度快

作為一個異步調度的庫,Workflow調度性能一直是?常好的。另外運?時內存占?也?常的小。

5、自定義協議非常方便

社區活躍以及項目負責人積極回復問題也是一個亮點,如果在框架搭建和移植上出現問題,在社區上提問都會得到快速響應。

a506848c-6b11-11ed-8abf-dac502259ad0.png

移植到嵌入式設備的開源支持

據悉?前已經有許多?戶?到了嵌?式上了。github官方也做出了耐心的解釋。

a5246c5e-6b11-11ed-8abf-dac502259ad0.png

框架能做什么

1、輕松的搭建server

不用多說,服務端框架如果不能搭建server那還玩啥了,但使用這個框架非常方便,以http server為例,只需要簡單幾行代碼即可:

#include #include "workflow/WFHttpServer.h" int main() { WFHttpServer server([](WFHttpTask *task) { task->get_resp()->append_output_body("Hello World!"); }); if (server.start(8888) == 0) { // start server on port 8888 getchar(); // press "Enter" to end. server.stop(); } return 0; }

2、輕松高效的發起客戶端請求

項目號稱可作為萬能異步客戶端,目前支持http,redis,mysql、websocket和kafka協議,下面是官方給出的一個mysql的客戶端示例:

int main(int argc, char *argv[]) { ... WFMySQLTask *task = WFTaskFactory::create_mysql_task(url, RETRY_MAX, mysql_callback); task->get_req()->set_query("SHOW TABLES;"); ... task->start(); ... }

以往的C++ server需要訪問mysql時,可能使用的是傳統的客戶端。在一個線程下以同步阻塞的方式等待數據到來。如果有多個網絡請求希望并發,那么用戶需要管理好多個mysql cli對象。

workflow完美的解決了這一系列問題,把所有這種用戶請求交給內部的poller線程統一管理,實現了高效的非阻塞IO行為,提升了server作為客戶端請求數據時的性能表現。再也不用擔心這種客戶端行為影響server整體的性能。

支持自定義協議client/server:用戶可構建自己的RPC系統,搜狗有個開源項目srpc就是以這個框架為基礎實現的。

3、可建構異步任務流

支持串聯,支持并聯,支持串并聯的組合體,也支持復雜的DAG結構。

4、異步IO

在Linux系統下可作為文件異步IO工具使用,性能超過任何標準調用。

5、通信與計算一體化

多數框架都著重于網絡IO的效率問題,而計算與任務調度等需要用戶自己實現,workflow會自動對任務進行調度,打通網絡和磁盤等資源,特別適合需要網絡通信的重計算模塊。

任務流框架設計

在作者的設計理念中,一切業務邏輯皆是任務,多個任務會組成任務流,任務流可組成圖,這個圖可能是串聯圖、并聯圖,也可能是串并聯圖,類似于這種:

a5513f72-6b11-11ed-8abf-dac502259ad0.png

或者是這種復雜的DAG圖:

a589510a-6b11-11ed-8abf-dac502259ad0.png

當然圖的層次結構可由用戶自定義,很牛的一點是支持動態創建任務流。

分享結束,希望小伙伴喜歡,嵌入式真需要不斷學習去充實自己的大腦,相信你們都能夠成為最厲害的程序員

最近很多小伙伴領取了程序員知識圖譜,反饋很好。我們知道每一個技術領域都有它完整地知識體系,而良好的知識體系有助于技術人員的發展和成長,減少學習過程中所走的彎路。所以還沒有領取的小伙伴趕緊領取起來吧!(底部有領取入口哦)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19104

    瀏覽量

    304815
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73621
  • workflows
    +關注

    關注

    0

    文章

    6

    瀏覽量

    5926

原文標題:分享一個適合嵌入式的C++開源項目-Workflow

文章出處:【微信號:嵌入式學習站,微信公眾號:嵌入式學習站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    高校開源開發者培養分論壇亮點前瞻

    數字化時代,開源成為了全球軟件與技術創新的重要驅動力,從Linux操作系統到Android移動平臺,從人工智能框架到云計算基礎設施,一個個開源項目遍地開花。然而,在開源蓬勃發展的背后,
    的頭像 發表于 12-17 14:06 ?119次閱讀

    簡儀科技第九屆開源測控開發者大會精彩回顧

    由簡儀科技主辦的第九屆開源測控開發者大會,近日在上海圓滿落幕。
    的頭像 發表于 11-19 09:16 ?311次閱讀

    開源共生 商業共贏 | RT-Thread 2024開發者大會報名啟動!

    開發者大會將以“開源共生,商業共贏”為主題,將于2024年12月21日全天在上海臨港中心舉行。開源RT-Thread如何實現商業化?這一直是外界對RT-Thread最
    的頭像 發表于 10-29 08:06 ?369次閱讀
    <b class='flag-5'>開源</b>共生 商業共贏 | RT-Thread 2024<b class='flag-5'>開發者</b>大會報名啟動!

    簡儀科技與您相約第九屆開源測控開發者大會

    第九屆開源測控開發者大會,簡儀科技將繼續秉承開放、創新的精神,深入探討模塊測控領域軟件的重要性,并展示基于開源銳視測控平臺的實踐應用,帶來豐富的議題分享。
    的頭像 發表于 10-21 11:35 ?467次閱讀

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    深開鴻在2024開放原子開源生態大會上正式宣布KaihongOS4.1.2開發者預覽版全面上線,并向全球開發者開放免費下載。作為KaihongOS不斷創新與發展的重要里程碑,此次預覽版為開發者
    的頭像 發表于 09-28 08:07 ?330次閱讀
    KaihongOS 4.1.2<b class='flag-5'>開發者</b>預覽版正式上線,誠邀<b class='flag-5'>開發者</b>免費試用!

    OpenVINO? C++ 在哪吒開發板上推理 Transformer 模型|開發者實戰

    使用OpenVINO定制你的AI助手丨開發者實戰作者:王國強蘇州嘉樹醫療科技有限公司算法工程師指導:顏國進英特爾邊緣計算創新大使研揚科技針對邊緣AI行業開發者推出的『哪吒』(Nezha)開發套件,以
    的頭像 發表于 09-28 08:01 ?327次閱讀
    OpenVINO? <b class='flag-5'>C++</b> 在哪吒<b class='flag-5'>開發</b>板上推理 Transformer 模型|<b class='flag-5'>開發者</b>實戰

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    今日,深開鴻在2024開放原子開源生態大會上正式宣布KaihongOS 4.1.2開發者預覽版全面上線,并向全球開發者開放免費下載。作為KaihongOS不斷創新與發展的重要里程碑,此次預覽版為
    的頭像 發表于 09-26 15:59 ?451次閱讀

    軟通動力助陣OpenHarmony開發者大會2024成功舉辦

    近日,由開放原子開源基金會OpenHarmony項目群工作委員會主辦的OpenHarmony開發者大會2024在深圳成功舉辦。
    的頭像 發表于 05-28 09:35 ?696次閱讀
    軟通動力助陣OpenHarmony<b class='flag-5'>開發者</b>大會2024成功舉辦

    報名開啟!第二屆OpenHarmony開發者大會2024重磅來襲!

    分論壇”為承載,聚焦OpenHarmony 技術革新,攜手百位技術專家共同交流開發者關心的技術內容,全方位了解最新技術進展。 OpenHarmony開源三年多以來,社區快速成長,已成為“下一代智能終端
    發表于 05-14 15:23

    華為云開發者桌面全新發布 CodeArts IDE for Python,極致優雅云原生開發體驗

    近日,華為云正式發布 CodeArts IDE for Python,這是一款內置華為自研 Python 語言服務,提供智能編程、靈活調試能力的可擴展桌面開發工具,為華為云開發者提供卓越
    的頭像 發表于 05-10 00:27 ?1235次閱讀
    華為云<b class='flag-5'>開發者</b>桌面全新發布 CodeArts IDE for Python,極致優雅云原生<b class='flag-5'>開發</b>體驗

    開放原子開源大賽—基于OpenHarmony的團結引擎應用開發賽正式啟動!

    所有開發者開放,只要完成注冊并認證,即可報名參與。你將有機會深入實踐OpenHarmony開源項目與Unity中國團結引擎,更有機會贏取豐厚的獎勵與榮譽激勵。賽事共設立了62個獎項,總獎金池高達45萬元
    發表于 03-13 10:45

    源碼開放,開發者手機 buff 疊滿

    開發者手機開源代碼編譯指導 編譯環境建議: ubuntu20.04 Linux 系統內存:最低 16G Pyhon 3.8 安裝必要工具: sudo apt-get update sudo
    發表于 03-04 14:29

    鴻蒙不再兼容安卓,那么鴻蒙開發者是否會大增?

    8 億。 而鴻蒙的開發不止應用層,它是以1+8+N的生態圈。涵蓋了車載、數碼、智能家居、家電等一系列生態產開發,這么大的市場需求,必定會導致市場需要大量鴻蒙開發者。那么鴻蒙開發
    發表于 01-31 22:17

    華為宣布HarmonyOS NEXT鴻蒙星河版開發者預覽面向開發者開放申請

    華為宣布HarmonyOS NEXT鴻蒙星河版開發者預覽面向開發者開放申請,這意味著鴻蒙生態進入第二階段,將加速千行百業的應用鴻蒙化。
    的頭像 發表于 01-29 16:42 ?1410次閱讀
    華為宣布HarmonyOS NEXT鴻蒙星河版<b class='flag-5'>開發者</b>預覽面向<b class='flag-5'>開發者</b>開放申請

    開源發展與開發者專題 | CSDN創始人蔣濤:全力打造中國開發者開源新生態

    、共贏的合作觀,積極融入全球產業鏈供應鏈,基本構建了規模大、體系全、競爭力較強的產業體系,為開源發展提供了土壤、積蓄了能量、創造了條件。 為了更好地宣傳中國開發者開源技術領域的貢獻和創新,幫助更多人更充分
    的頭像 發表于 12-26 18:50 ?528次閱讀
    <b class='flag-5'>開源</b>發展與<b class='flag-5'>開發者</b>專題 | CSDN創始人蔣濤:全力打造中國<b class='flag-5'>開發者</b><b class='flag-5'>開源</b>新生態
    主站蜘蛛池模板: 国产区精品综合在线| 99精品在线观看| 亚洲 自拍 偷拍 另类综合图区 | 97人妻久久久精品系列A片| 亚洲精品视频在线播放| 校花被扒衣吸乳羞羞漫画| 色婷婷激婷婷深爱五月小蛇| 青青草 久久久| 啪啪啪社区| 征服丝袜旗袍人妻| 亚洲精品一线二线三线无人区| 午夜日本大胆裸艺术| 无羞耻肉动漫在线观看| 色多多污污下载| 熟妇久久无码人妻AV蜜桃| 受被三个攻各种道具PLAY| 收集最新中文国产中文字幕| 神马伦理2019影院不卡片| 四虎成人影院| 亚洲第一色网| 一本久道久久综合狠狠躁AV| 一区在线观看在线| 中文字幕在线观看亚洲日韩| 91素人约啪| 北条麻妃快播| 国产极品白嫩超清在线观看| 国产精品视频大全| 九色PORNY蝌蚪视频首页| 久久综合给合久久狠狠狠…| 美女网站免费久久久久久久| 欧美高清vivoesosexo10| 日本高清无卡码一区二区久久 | 精品久久久久久无码人妻国产馆| 精品国产露脸久久AV麻豆| 久久亚洲A片COM人成A| 欧美 亚洲 中文字幕 高清| 日韩亚洲欧洲在线rrrr片| 小sao货水好多真紧h的视频| 一边捏奶头一边啪高潮会怎么样| 2018三级网站免费观看| 欧美亚洲另类丝袜自拍动漫|