<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的看法,為什么對其不待見?
    主站蜘蛛池模板: 亚洲AⅤ永久无码精品AA | 久久青青草原亚洲av无码app| 成人午夜影视全部免费看| 免费在线观看理论片| 美女视频黄频a免费| 亚洲精品成人在线| 一级毛片在线播放免费| 中文字幕人成人乱码亚洲电影| av电影在线免费看| 亚洲Av永久无码精品三区在线 | 青娱乐免费在线视频| 亚洲精品色播一区二区| 免费国产a国产片高清| 亚洲免费日韩无码系列| 亚洲Aⅴ无码专区在线观看q| 69pao强力打造免费高清| 亚洲高清一区二区三区| 免费人成网站在线高清| av永久免费网站在线观看| 久久精品国产亚洲av水果派| 性盈盈影院免费视频观看在线一区| 国产精品亚洲一区二区三区在线观看 | 日韩精品极品视频在线观看免费| 久久亚洲精品无码AV红樱桃| 噼里啪啦电影在线观看免费高清| 亚洲毛片免费观看| 亚洲欧美成人av在线观看| 亚洲高清成人一区二区三区| 久久精品免费观看| 亚洲精品无码久久久久YW| 久久久久亚洲精品无码网址| 四虎在线最新永久免费| 国产精品日本亚洲777| 亚洲国产国产综合一区首页| 最近中文字幕mv免费高清电影 | 高h视频在线免费观看| 亚洲成人午夜在线| 国产中文字幕免费| 久久久久久成人毛片免费看| 亚洲av无码一区二区三区天堂| 亚洲av无码成人黄网站在线观看|