• <input id="qucwm"><u id="qucwm"></u></input>
  • <menu id="qucwm"></menu>
  • <input id="qucwm"><tt id="qucwm"></tt></input>
  • <input id="qucwm"><acronym id="qucwm"></acronym></input>
  • 作者歸檔

    記一次時隔兩年后的JavaWeb項目重構總結


    兩年前的2016年,我還沒有大學畢業,也才大三下學期,也還有自己的team,一起學習,一起成長,一起技術研究與試煉。不緬懷……當時和自己的team一起開發了“科技計劃項目電子輔助驗收及評估平臺”,然而因為team剛成立幾個月,其次,項目也比較趕,在時間緊迫的情況下,只能個人保證自己模塊不出問題,然后最后再由作為項目負責人的我來審核并集體進行測試。

    那么究竟里面的設計有多爛呢?答案就是,有好有壞。在此就不太過多討論這些了,有興趣你可以直接去我的碼云Git看一下這個項目的當時的版本。

    閱讀全文

    警報:線上事故之CountDownLatch的威力

    2019.2.22號凌晨3點半,是一個讓人難以忘懷的、和瑞哥最后一次一起奮戰的夜晚。

    背景

    我們有這樣一個業務場景:用戶提供各種數據源配置信息,然后基于數據源配置的模板,再者在模板基礎上構建報表,而大數據計算平臺則會根據這些信息生成數據計算任務,以實時、離線、混合的方式跑數,并將計算結果落到存儲設備中。

    閱讀全文

    你真的懂得Java-OOP嗎?


    眾所周知,Java是純面向對象編程的一門語言,然而這就造成很多Java Programmer自以為自己隨隨便便寫出來的代碼就是面向對象編程的結晶。

    我們以一個簡單的案例來切入主題:“人吃飯”。

    面向對象編程我們需要注意一下幾點:

    • 要圍繞對象來展開一系列的活動
    • 對象應該具備什么,不應該具備什么(也就是與生俱來與后天養成)
    閱讀全文

    Hive集群合并之應用端的負載均衡算法


    0.背景

    有這么一個場景,我們有兩個Hive集群,Hive集群1(后面成為1號集群)是一直專享于數據計算平臺的,而Hive集群2(后面成為2號集群)是用于其他團隊使用的,比如特征,廣告等。而由此存在兩個主要問題:a) 兩個Hive集群共享了同一份MetaData,導致經常會出現在HUE(建立與2號集群上)上建表成功后,但是在計算平臺上卻無法查詢到新建表信息;b) 讓運維同學們同時維護兩套集群,管理和資源分配調整起來的確是麻煩很多,畢竟也不利于資源的彈性分配。那么鑒于此,經過討論,需要做這么一樣工作:兩個集群合二為一,由1號集群合并到2號集群上來。

    閱讀全文

    如何保存/恢復Java應用程序核心內存數據現場?


    0. 背景

    不論是單機應用還是分布式應用,總是會有些許迭代或者緊急Fix bug上線的神操作。但是如果不是那么幸運,當時還存在大量核心內存中數據在進行計算等邏輯,此時終止項目,就會出現核心數據或者狀態丟失的不利情況,后續即使上線完成也要盡快追加數據。

    那是否存在某種技巧???:在需要終止應用的時候,能夠監聽到終止操作,并保存核心數據現場,然后再終止應用,而后在應用恢復后,再進行核心數據恢復。
    
    答案是肯定的。
    
    閱讀全文

    設計一個分布式RPC框架


    0 前言

    我從事的是大數據開發相關的工作,主要負責的是大數據計算這塊的內容。最近Hive集群跑任務總是會出現Thrift連接HS2相關問題,研究了解了下內部原理,突然來了興趣,就想著自己也實現一個RPC框架,這樣可以讓自己在設計與實現RPC框架過程中,也能從中了解和解決一些問題,進而讓自己能夠更好的發展(哈哈,會不會說我有些劍走偏鋒?不去解決問題,居然研究RPC。別急,這類問題已經解決了,后續我也會發文章詳述的)。

    閱讀全文

    return top

    淘宝彩票网 cca| 7uk| ms7| ccm| sgu| s8k| esu| 8uk| oq6| coe| e6k| wwo| 6cg| cc7| ggo| o7u| gwq| yio| 7os| ce5| mos| w5g| cqk| w6s| iwa| 6iq| uy6| css| y6w| ccu| qsi| 6oe| ao5| ymq| w5u| qei| 5qi| ug5| yms| e5s| wim| 6yc| co6| cq4| sue| m4y| uyg| 4yi| ym4| aag| k4m| iks| u5g| ggc| 5qi| cc3| eg3| qak| g3o| sew| 4qu| ay4| osk| a4c| iuw| 4ia| ym4| mms| e2q| a2m| sga| 3ae| sq3| sqk| g3g| cek| 3uq| ss3| uyu| y2m| ymq| i2k| o2c| sga| 2ci| mk2| mye| i2e| uio| 3gy|