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

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

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

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    最近做的一些事情

    Posted on 2012-01-15 12:50 dennis 閱讀(5468) 評論(20)  編輯  收藏 所屬分類: 涂鴉工作隨筆

        很久沒寫blog了,寫寫最近做的一些工作,給感興趣的朋友做參考。
        首先是我們的kafka的“復制品”metamorphosis做了1.4版本,實現了同步復制方案,broker本身也做了很多優化,總體而言meta是一個非常成熟可用的產品了。甚至可以說是我在淘寶做的最好的一個產品。有些朋友總是問我們為什么不直接用kafka,而要另寫一個?這里做個統一的解答。
    (1)kafka是scala寫的,我對scala不熟悉,也不待見,考慮到維護和語言熟悉程度,用java重寫仍然是最好的選擇。
    (2)其次,kafka的整個社區非常不活躍,發展太慢,而我又不愿意去學習scala來參與社區發展,那么唯一的出路就是自己寫。
    (3)kafka的一些工作不能滿足我們的要求,比如一開始它連producer的負載均衡都沒有,它的消費者API設計還是比較蛋疼的。它也不支持事務,沒有考慮作為一個通用的MQ系統來使用。并且它也沒有高可用和數據高可靠的方案。
    (4)我們做了什么呢?
    a.用java徹底重寫整個系統,除了原理一致,整個實現是徹底重新實現的。
    b.我們提供了生產者的負載均衡(仍然是基于zk),重新設計了消費者API,更符合 JMS的使用習慣。
    c.我們提供了事務實現,包括producer和consumer端的,包括本地事務和符合XA規范的分布式事務實現。
    d.我們提供了兩種數據高可靠方案:類似mysql的異步復制和同步復制方案。通過將消息復制到多個節點上來保證數據的高可靠。
    e.我們提供了http協議的實現,并且本身使用協議也是類似memcached的文本協議,內部也增加了很多統計項目,可以以memcached的stats協議的方式來獲取純文本的統計信息。整個系統運維很方便。
    f.提供了很多擴展應用:廣播消費者的實現,多種offset存儲的實現(默認的zookeeper,還有文件和mysql),tail4j用于作為agent發送日志,log4j appender擴展用于透明地使用log4j發送消息,hdfs writer用于將消息寫入hdfs,storm spout用于將消息接入storm做實時分析,基本上形成一套完整的工具鏈和擴展。
    g.一些其他功能點:group commit提升數據可靠性和吞吐量,連接復用,集群下的順序消息發送,消息數據的無痛遷移和水平擴展,web管理平臺等。

        meta未來會走開源的路子,不過不會是我來推動的,估計是在今年會有進展。

        我最近還寫了一些小項目值得一提,首先是aviator這個輕量級的表達式執行引擎發布了2.2.1版本,主要是這么幾個改進:
    (1)支持多維數組變量的訪問,如a[0][0]
    (2)添加Expression#getVariableNames()用于返回表達式的變量列表
    (3)添加AviatorEvaluator#exec方法來簡化調用
    (4)bug修正等。
        maven直接升級:
     <dependency>
                            
    <groupId>com.googlecode.aviator</groupId>
                            
    <artifactId>aviator</artifactId>
                            
    <version>2.2.1</version>
            
    </dependency>

        其次,hs4j這個handler socket的客戶端,由新浪微博的@趙鵬城實現了inc/dec協議,添加了incr和decr方法用于更新計數,感謝他的貢獻,如果你需要這兩個功能可以自己從github拉取源碼并構建打包,暫時不準備發布到maven。

        第三,關注高可用的Transaction Manager實現的可以關注下我的ewok項目,這是一個基于BTM這個開源JTA實現,提供基于bookkeeper的高可用的TM項目。將事務日志寫到高可用的bookkeeper上,并利用zookeeper來做到故障的透明遷移,某個TM掛了,可以在其他機器上從bookkeeper拉取日志并恢復。代碼已經穩定并做了性能測試,沒有做進一步的破壞性測試。BTM是一個比JOTM和atomikos更靠譜的開源JTA實現,并且性能也好上很多,代碼質量更不用說,建議有興趣的可以看一下。我也為它貢獻了一個事務日志寫入優化的patch,日志寫入性能提升了近一倍。

        最后,我在clojure上做了一些事情,首先是為storm項目貢獻了兩個patch:利用curator做zookeeper交互和添加storm.ui.context.path選項,前者被作者接受,后者暫時只對我們有用。前者讓storm跟zk的交互更可用,后者是為storm ui添加了可選的相對路徑。你都可以在我fork的分支上嘗試,curator的patch在storm 0.6.2上發布,現在還是snapshot狀態。昨天晚上牙痛睡不著,半夜寫了個clojure STM profiler,用于統計分析clojure STM運行狀況,諸如事務運行次數和時間,事務的重試原因和次數等,可以針對每個dosync的form做統計,有興趣也可以看下。不過我其實更想將這個功能加入到clojure核心,會嘗試提交下pull request。

       還有個工作上的變遷,我將在2月1號正式從呆了近三年的淘寶離職,加入一支充滿活力的創業團隊。從穩定的大公司出來,去加入一家初創公司,不能說沒有風險,但是我還是想去接受新的挑戰,愿意更新我的知識結構,愿意向牛人們學習。我在某個blog上說我今年遇到了人生中最大的挑戰和轉折,并不是說這個事情,而是我的兒子今年患了一場重病,慶幸在很多人的幫助和關心下,他勇敢地挺了過來,度過最困難的一關,現在還在繼續治療。我要感謝很多人,感謝淘寶,感謝我的TL華黎和鋒寒,感謝我的同事和朋友林軒,感謝我們的HR,感謝三年后打交道的很多同事。沒有他們,我今年真的過不了關,沒有他們,我也不能進入淘寶并呆上快三年。

       最后的最后,我要特別感謝我的兒子,謝謝你的降生,謝謝你今年的勇敢,謝謝你給我們全家帶來的快樂,謝謝你繼續陪著我們 ,也希望你新年繼續勇敢地堅持下去,我們必將戰勝一切。     
       

    評論

    # re: 最近做的一些事情[未登錄]  回復  更多評論   

    2012-01-15 14:52 by test
    祝你的寶寶早日康復!!!

    # re: 最近做的一些事情[未登錄]  回復  更多評論   

    2012-01-15 20:43 by xf
    你真棒!加油

    # re: 最近做的一些事情[未登錄]  回復  更多評論   

    2012-01-16 11:35 by xiaoyu
    祝你的寶寶早日康復!!!

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-17 10:04 by zhh2009
    要向你學習,你實在是牛X,太棒了,哈哈

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-17 13:07 by jwfing
    期待你的加入,祝你家寶寶早日康復!!

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-18 09:22 by xing kenny
    祝你的寶寶早日康復!!!

    # re: 最近做的一些事情[未登錄]  回復  更多評論   

    2012-01-19 10:12 by ghostzhang
    牛人

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-19 14:54 by BlackHawk
    祝寶寶早日康復!一切順心!

    # re: 最近做的一些事情[未登錄]  回復  更多評論   

    2012-01-19 17:40 by matthew
    metamorphosis 會開源不?

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-19 18:54 by NathanLHB
    祝福!

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-19 23:29 by Raidery
    祝寶寶早日康復!合家歡聚!

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-29 16:20 by LionBule
    Good luck!

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-30 17:13 by hankesi2000
    一直默默關注著你,我覺得你在淘寶的技術和當前的職位是不符合的,期待出去后能有更多的收獲!

    # re: 最近做的一些事情[未登錄]  回復  更多評論   

    2012-01-30 21:55 by stone
    avos在北京?

    # re: 最近做的一些事情  回復  更多評論   

    2012-01-31 14:46 by scud
    Bless

    # re: 最近做的一些事情  回復  更多評論   

    2012-02-01 13:31 by shuihan
    good luck ! 祝新年快樂,萬事如意,寶寶健健康康成長!

    # re: 最近做的一些事情[未登錄]  回復  更多評論   

    2012-02-23 10:08 by alex
    牛人,祝福你和你兒子,愿你寶寶健康成長,也祝你工作更上一層樓!!

    # re: 最近做的一些事情  回復  更多評論   

    2012-02-24 16:56 by jzy
    愿你寶寶健康成長!你是我的偶像!

    # re: 最近做的一些事情  回復  更多評論   

    2012-05-18 11:18 by 瀟湘小筆
    多謝分享,祝你新的領域成功,寶寶茁壯成長。

    # re: 最近做的一些事情  回復  更多評論   

    2015-03-13 11:44 by Wuaner
    想聽樓主發表一下對Scala的看法,為什么對其不待見?
    主站蜘蛛池模板: 亚洲精品亚洲人成在线观看下载| 1024免费福利永久观看网站| 国产成人精品免费视频软件| 亚洲色最新高清av网站| 无码人妻精品中文字幕免费东京热| 亚洲午夜久久影院| 1000部啪啪未满十八勿入免费| 97亚洲熟妇自偷自拍另类图片| 免费人成在线观看网站品爱网| 亚洲经典在线观看| 国产高清不卡免费在线| 国产亚洲中文日本不卡二区| 永久中文字幕免费视频网站| 免费亚洲视频在线观看| 国产亚洲老熟女视频| 在线观看片免费人成视频无码| 亚洲电影中文字幕| 麻豆一区二区免费播放网站 | 在线免费播放一级毛片 | 中文字幕亚洲一区| 亚洲免费观看视频| 久久久无码精品亚洲日韩京东传媒| 91免费福利精品国产| 亚洲中文字幕无码中文字| 永久免费无码网站在线观看| 黄色网页在线免费观看| 亚洲av成人无码久久精品| 国产精品视频免费观看| 色五月五月丁香亚洲综合网| 亚洲色偷偷综合亚洲AVYP| 6080午夜一级毛片免费看| 亚洲大尺度无码无码专线一区| 亚洲另类少妇17p| 91香蕉在线观看免费高清| 亚洲色偷偷综合亚洲av78| 亚洲人妻av伦理| 免费视频爱爱太爽了| 一级毛片无遮挡免费全部| 久久精品国产亚洲av麻豆小说| 免费jjzz在线播放国产| 久久午夜羞羞影院免费观看|