国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

搜狗開源框架發(fā)布純自研C++ Kafka客戶端

企業(yè)動態(tài) Kafka
一個fetch消息的任務由一組任務組成,其中包括獲取Kafka Broker的Meta任務、一系列的消費者組相關(guān)的任務、獲取offset的任務和真正的拉取消息的任務。

   搜狗于今年7月發(fā)布了C++異步調(diào)度服務器引擎——Workflow,除了計算通信融為一體的高性能特點以外,還集成了多種常用的網(wǎng)絡協(xié)議,包括:Http、Redis、MySQL,所有協(xié)議都是純自研自解析,無需依賴第三方庫,而具體協(xié)議所對應的資源復用和線程調(diào)度等都由Workflow以統(tǒng)一的方式去進行管理,目前獲得了越來越多開發(fā)者的青睞和肯定。而最近,Workflow又支持并發(fā)布了一項復雜的通用網(wǎng)絡協(xié)議:Kafka,使得所有使用Workflow及其生態(tài)項目的開發(fā)者都可以通過統(tǒng)一而簡便的方式與Kafka交互,這也是業(yè)內(nèi)唯一一款使用C++語言實現(xiàn)的Kafka客戶端,值引得開源社區(qū)開發(fā)者們的關(guān)注。

  一、開發(fā)背景

  在Workflow發(fā)布Kafka客戶端之前,業(yè)內(nèi)用得比較多的是librdkafka,但這個純C的kafka客戶端有許多不足,以下是我們原先使用時遇到的部分問題:

  1、線程資源和網(wǎng)絡資源消耗比較多

  2、接口設計比較復雜臃腫,使用成本比較高

  3、Kafka版本兼容性不是很好

  4、消耗資源高,但是性能卻不高

  5、broker主從切換低版本出現(xiàn)服務hang住情況,高版本偶發(fā)丟數(shù)據(jù)問題

  6、異步同步偶發(fā)出現(xiàn)丟數(shù)據(jù)情況

  針對這些問題,更好的替代方案是Workflow的Kafka客戶端:https://github.com/sogou/workflow

  由于實現(xiàn)在Workflow的基礎上,作為Kafka客戶端即具有超高性能、超大吞吐和極省的資源占用等特點,且和其他協(xié)議的接口一樣,此Kafka客戶端還具有接口清晰,代碼可讀性強等優(yōu)點,不僅節(jié)省機器成本還節(jié)省人力維護成本,非常值得一試。

  二、新一代高性能C++ Kafka客戶端

  Workflow的Kafka客戶端使用接口非常簡潔,首先需要創(chuàng)建一個client對象:

  

 

  其他使用方式與框架內(nèi)的其他任務無異,使用Workflow的同學可以瞬間上手:

  

 

  為什么Workflow的Kafka客戶端能有以上的優(yōu)點呢?主要得益于以下三方面的細節(jié):

  一. 內(nèi)部基于Workflow的任務流實現(xiàn)。Workflow的核心設計理念是將任務抽象成"任務流"的概念,這樣一個任意復雜的任務可以拆分成若干個并行任務流和串行任務流,它們之間通過串聯(lián)、并聯(lián)等方式組成一個或者多個串并聯(lián)圖,然后由Workflow內(nèi)部的引擎高效異步地執(zhí)行。

  以Kafka協(xié)議的fetch消息為例,下圖是執(zhí)行過程中任務流的串并聯(lián)圖:

  

 

  一個fetch消息的任務由一組任務組成,其中包括獲取Kafka Broker的Meta任務、一系列的消費者組相關(guān)的任務、獲取offset的任務和真正的拉取消息的任務。前面的多個任務由于有依賴關(guān)系,所以組成串聯(lián)任務;而最終拉取消息的任務和Broker的個數(shù)有關(guān),因此可以將它轉(zhuǎn)換成一個broker數(shù)目相同的并行任務。這樣做一方面可以使得邏輯很清晰,同時也可以保證執(zhí)行的高效性。

  二. 連接復用。傳統(tǒng)的網(wǎng)絡通信往往是在程序初始化的時候,創(chuàng)建大規(guī)模連接池來提高網(wǎng)絡吞吐,這么做的一個弊端是系統(tǒng)資源占用過多,會導致降低程序的魯棒性。而目前這個Kafka客戶端由于內(nèi)部是基于Workflow框架,Workflow對連接的管理做了很多優(yōu)化,可以在保證高效高吞吐的同時,將資源控制在一個合理的范圍內(nèi)。

  三.內(nèi)存管理。為了方便用戶的使用,內(nèi)部的所有對象都基于計數(shù)實現(xiàn),通過工廠方法創(chuàng)建任務后,在回調(diào)函數(shù)中實現(xiàn)處理邏輯即可。內(nèi)存的分配和釋放都是框架自動完成,全程無需手動操作任務級別的內(nèi)存,非常方便;同時它的邏輯又是完備自洽的,保證了高效可靠。

  三、插件式發(fā)布,與Workflow完美融合

  基于Workflow精巧的層次結(jié)構(gòu),Kafka協(xié)議是以插件式發(fā)布的,即無需安裝Kafka的用戶不會把Kafka相關(guān)代碼編譯進去,由此可以看出Workflow本身的架構(gòu)解耦和模塊對稱性都做得非常優(yōu)秀。

  而Kafka的協(xié)議由于需要多次交互,Workflow復合任務又天生支持內(nèi)部交互的隱藏,使得整體使用上對用戶非常簡潔透明。基于二級工廠模式也可以把許多全局信息統(tǒng)一管理到內(nèi)存中,也是工程上結(jié)合的一大亮點。

  可以說,Kafka協(xié)議與Workflow的融合相當完美,且目前在搜狗已經(jīng)大規(guī)模使用,經(jīng)得住工業(yè)級檢索系統(tǒng)大規(guī)模請求的實際考驗,歡迎業(yè)內(nèi)需要的開發(fā)同學積極嘗試并與我們熱心的開發(fā)小組進行技術(shù)交流。

責任編輯:張誠 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2020-10-20 17:35:42

srpcRPC語言

2025-04-01 09:31:44

2012-11-28 11:05:42

IBMdW

2022-08-05 09:30:57

單元測試C++

2014-08-11 16:35:35

KafkaJava客戶端

2011-07-01 10:00:11

Ubuntu OneAndroid

2009-06-12 19:18:08

REST客戶端框架JavaScript

2021-05-07 15:28:03

Kafka客戶端Sarama

2018-06-29 09:01:51

開源技術(shù) 深度學習

2009-10-20 14:47:13

Google Wave

2011-10-19 10:23:18

InstantbirdIM客戶端

2009-08-06 17:12:13

C# WebServi

2015-04-21 13:37:44

Google開源CC++版

2012-08-27 11:31:58

Dell Wyse

2011-08-17 10:10:59

2010-06-30 13:45:05

ZKZK 5.0.3

2009-08-21 15:59:22

服務端與客戶端通信

2021-09-22 15:46:29

虛擬桌面瘦客戶端胖客戶端

2009-08-21 16:14:52

服務端與客戶端通信
點贊
收藏

51CTO技術(shù)棧公眾號

jzzjzzjzz亚洲成熟少妇| 五月精品视频| 亚洲3atv精品一区二区三区| 四虎4hu永久免费入口| 经典一区二区| 久久琪琪电影院| 青青青国产精品| 欧美成人免费网站| 97电影在线看视频| 午夜伊人狠狠久久| av在线dvd| 久久久91精品国产一区二区精品 | 午夜精品久久久久久久99热浪潮| 中日韩脚交footjobhd| 欧美日韩一二区| 丝袜视频国产在线播放| 一区二区在线免费观看| 成人短剧在线观看| 视频在线在亚洲| 浮生影视网在线观看免费| 久久aⅴ国产欧美74aaa| 国产精品永久免费视频| 国产精品18| 91精品一区二区三区在线观看| 午夜一区二区三视频在线观看| 国外成人福利视频| 欧美一二三四在线| 日韩欧美在线观看一区二区| 久久午夜色播影院免费高清| 久久天天狠狠| 精品国产一区二区三区久久久樱花 | 91久久久亚洲精品| 欧美肥老太太性生活| 91在线看网站| 日韩在线理论| 久久久久日韩精品久久久男男 | 香蕉国产精品偷在线观看不卡| 亚洲成人第一| 国产黄色在线| 奇门遁甲1982国语版免费观看高清| 久久亚洲精品人成综合网| 国产精品一区久久久| 亚洲福利久久| 福利电影导航| 欧美日韩dvd在线观看| 日韩亚洲欧美视频| 日韩av在线导航| 97久久亚洲| 欧洲日韩成人av| 奇米在线7777在线精品| 亚洲天堂电影网| 久久精品国产精品亚洲精品| 久久久久久av无码免费网站下载| 蜜臀久久久久久久| 色婷婷成人网| 久久精精品视频| 亚洲一区二区三区爽爽爽爽爽| 四虎影视4hu4虎成人| 国产精品私拍pans大尺度在线| 欧美精选在线| 一二三四社区在线视频| 久久久久久国产精品美女| 欧美一区三区| 韩国一区二区av| 欧美激情精品久久久久久大尺度| 日韩黄色片在线观看| 国语对白在线视频| 亚洲奶大毛多的老太婆| 国产精品7m凸凹视频分类| 亚洲一区二区三区视频| 亚洲在线观看| 男人天堂网在线| 怡红院av亚洲一区二区三区h| 精品国产1区2区| aaa国产精品视频| 在线看你懂得| 色综合久久久久网| 日韩免费小视频| 日韩精品免费播放| 91国产精品91| 97aⅴ精品视频一二三区| 免费观看成人性生生活片| 97超碰最新| 国产精品成人免费在线| 日韩一区二区三区免费| 免费无码av片在线观看| 日韩片之四级片| 疯狂欧洲av久久成人av电影| 99亚洲精品视频| av一本久道久久波多野结衣| 亚洲欧美激情小说另类| 精品久久ai| 999福利在线视频| 欧美华人在线视频| 日韩国产欧美精品在线| 久久久久国产精品厨房| 亚洲网站在线| 最新欧美电影| 五月天丁香婷| 美女一区视频| 在线免费不卡视频| 一区在线播放| 日韩欧美看国产| 美女视频黄a视频全免费观看| 欧美一区二区啪啪| 欧美第十八页| 8av国产精品爽爽ⅴa在线观看| 激情在线小视频| 日本精品福利视频| 欧美国产日产韩国视频| 亚洲第一区在线| 欧美日韩在线视频一区二区| 亚洲伊人av| 国产麻豆久久| 牛牛热在线视频| 久久精品免费一区二区| 精品视频久久久| 免费美女久久99| 国产麻豆精品久久| 国产精品免费电影| 久久久99久久| 蜜桃视频动漫在线播放| 国产精品一区二区三区观看| 亚洲蜜臀av乱码久久精品| 国产成年精品| 国产卡一卡二在线| 91精品婷婷国产综合久久竹菊| 五月精品视频| 一本免费视频| 日av在线播放中文不卡| 国产精品婷婷午夜在线观看| 日韩免费高清视频网站| 国产精品12345| 国产亚洲综合久久| 国产精品资源站在线| hd国产人妖ts另类视频| 欧美极品日韩| 91精品久久久久久蜜臀| 亚洲国产免费| 91最新在线| 国产在线一区二区三区欧美| 精品久久久久久久久中文字幕 | 国产亚洲短视频| 香蕉视频在线免费| jizzjizz国产精品喷水| 国产日韩欧美夫妻视频在线观看| 欧美日韩国产综合草草| 五月天视频一区| 国产精品一区二区三区美女| 久草资源站在线观看| 日韩一区二区三区在线播放| 不卡的av网站| 亚洲无线观看| 国产视频一二三| 国产精品久久一区| 在线看国产一区二区| 在线播放日韩| 黄页在线观看免费| 国产又粗又大又爽的视频| 色偷偷888欧美精品久久久| 久久久久久电影| 6080亚洲理论片在线观看| 国产福利图片| 国产精品无av码在线观看| 欧美午夜女人视频在线| 激情久久五月| а√天堂8资源中文在线| www..com日韩| 91干在线观看| 色综合天天综合在线视频| 免播放器亚洲一区| 成人动漫视频在线观看| 77777在线| 久久精品国产第一区二区三区最新章节| 日韩视频在线你懂得| 国产91精品久久久久久久网曝门| 亚洲综合视频| 日韩写真福利视频在线| 免费在线观看91| 伊人av综合网| 亚洲午夜精品在线| 免费视频最近日韩| 亚洲伊人春色| 中文字幕有码在线视频| 免费观看精品视频| 99精品国产高清在线观看| 日韩一区二区电影在线| 99精品视频在线免费观看| 久久成人综合| 手机av在线| 最新亚洲人成网站在线观看| 中文字幕第50页| 国产精品吴梦梦| 亚洲欧美精品suv| 亚洲高清不卡在线观看| 国产久卡久卡久卡久卡视频精品| av亚洲在线观看| 玛雅亚洲电影| av在线中文| 免费看涩涩视频|