<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢(mèng)蝶

    生活、程序、未來(lái)
       :: 首頁(yè) ::  ::  :: 聚合  :: 管理

    最近對(duì)kafka的移植工作

    Posted on 2011-05-07 10:46 dennis 閱讀(5528) 評(píng)論(6)  編輯  收藏 所屬分類: 工作隨筆
        Kafka這個(gè)linkedin開(kāi)源的MQ,我在過(guò)去的blog簡(jiǎn)單介紹過(guò)。最近3周來(lái),我的工作就是做它的一個(gè)Java移植版本,kafka是用scala寫的,基于維護(hù)和定制的角度,這個(gè)拷貝的版本還是用Java。說(shuō)拷貝,也不盡然,原理相同,但實(shí)現(xiàn)完全換過(guò),從數(shù)據(jù)結(jié)構(gòu)到通訊框架、通訊協(xié)議、程序組織,乃至一些重要功能點(diǎn)上都做了改進(jìn)和更新。我將這個(gè)Java版本取名為metamorphosis,也就是卡夫卡的代表作《變形記》的英文名。

        在原版本上,目前做了如下改進(jìn):
    1、協(xié)議替換為文本協(xié)議,整個(gè)協(xié)議類似memcached,文本協(xié)議的優(yōu)點(diǎn)自不必說(shuō)。通訊框架也是采用內(nèi)部使用的通訊框架,減少工作量。

    2、存儲(chǔ)結(jié)構(gòu)上也采用自定義結(jié)構(gòu),更簡(jiǎn)潔緊湊。

    3、kafka原來(lái)只支持consumer和broker之間的服務(wù)查找和負(fù)載均衡,meta加入了producer和broker之間的服務(wù)查找和負(fù)載均衡。

    4、Consumer API沒(méi)有采用kafka的stream方式,而是同時(shí)實(shí)現(xiàn)同步獲取和異步訂閱兩種方式,更接近JMS和Notify。

    5、改進(jìn)了服務(wù)器端文件recover的性能,采用并發(fā)多線程recover的方式(可選)。

    6、添加了實(shí)時(shí)統(tǒng)計(jì)功能和協(xié)議,類似memcached的stats協(xié)議,響應(yīng)透明號(hào)召。

    7、客戶端的連接復(fù)用。
       
        以后要做的事情,可能包括:
    1、實(shí)現(xiàn)類似Mysql的master/slave方案,可能還要分為同步和異步兩種模式。

    2、分區(qū)擴(kuò)展時(shí)候的數(shù)據(jù)自動(dòng)遷移功能,做到無(wú)痛水平擴(kuò)展。

    3、高可用方案的另一個(gè)實(shí)現(xiàn)。

    4、嵌入Http server做web管理。
      
        工作在本周初步告一段落,接下來(lái)是要做集成測(cè)試和壓測(cè)等,我在兩臺(tái)8核16G的機(jī)器上分別部署服務(wù)器和客戶端(訂閱者發(fā)布者同在一臺(tái)),做的一個(gè)簡(jiǎn)單壓測(cè)數(shù)據(jù)如下:并發(fā)100個(gè)線程發(fā)送5000萬(wàn)消息并同時(shí)消費(fèi),1K大小的消息TPS可以達(dá)到3.8萬(wàn),4K大小的消息TPS可以達(dá)到1.8萬(wàn),服務(wù)器load都維持在一個(gè)較低的水平。從這個(gè)數(shù)據(jù)來(lái)看,超過(guò)我一開(kāi)始的預(yù)期。后續(xù)可能做下kakfa的測(cè)試對(duì)比下。



    評(píng)論

    # re: 最近對(duì)kafka的移植工作  回復(fù)  更多評(píng)論   

    2011-05-07 15:57 by Scud(飛云小俠)
    高手...

    # re: 最近對(duì)kafka的移植工作  回復(fù)  更多評(píng)論   

    2011-05-08 18:12 by hongjiang
    通訊框架你換成了什么?

    # re: 最近對(duì)kafka的移植工作  回復(fù)  更多評(píng)論   

    2011-05-08 18:13 by hongjiang
    TBRemoting ?

    # re: 最近對(duì)kafka的移植工作  回復(fù)  更多評(píng)論   

    2011-05-08 18:45 by dennis
    @hongjiang

    notify-remoting,notify的通訊框架。

    # re: 最近對(duì)kafka的移植工作  回復(fù)  更多評(píng)論   

    2011-05-14 21:34 by niumd
    scala語(yǔ)言沒(méi)接觸過(guò),想讀源碼,您的java移植版開(kāi)源嗎?

    # re: 最近對(duì)kafka的移植工作  回復(fù)  更多評(píng)論   

    2014-03-08 07:56 by tomhanks
    請(qǐng)問(wèn)你是如何做的壓測(cè),能具體講講嗎?
    主站蜘蛛池模板: 91免费国产自产地址入| 98精品全国免费观看视频| 污视频网站在线观看免费| 成人自慰女黄网站免费大全| 日本三级2019在线观看免费| 免费va在线观看| 亚洲国产成人久久77| 人人公开免费超级碰碰碰视频 | 黄色一级毛片免费看| 成人免费看片又大又黄| 成年女人永久免费观看片| 精品国产亚洲一区二区三区| 亚洲欧美日韩综合俺去了| 国产精品区免费视频| gogo全球高清大胆亚洲| 亚洲人成网站在线观看播放动漫 | 亚洲一区二区影视| 男人天堂免费视频| 夜色阁亚洲一区二区三区| 青青草国产免费国产是公开| 自拍偷自拍亚洲精品第1页| 亚洲GV天堂GV无码男同| av无码免费一区二区三区| 久久精品亚洲综合专区| a在线视频免费观看在线视频三区| 野花高清在线观看免费完整版中文 | WWW亚洲色大成网络.COM| 国产卡二卡三卡四卡免费网址| 国产AV旡码专区亚洲AV苍井空 | 免费久久人人爽人人爽av| mm1313亚洲精品国产| 91免费在线视频| 亚洲一区精品视频在线| 又黄又大又爽免费视频| 中国内地毛片免费高清| 亚洲国产模特在线播放| 国产偷国产偷亚洲高清日韩| 国产成人无码免费看片软件| 久久久久亚洲Av无码专| 中文字幕无码视频手机免费看| 日本高清免费中文在线看|