<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          八股文一文不值 | 云原生時(shí)代大數(shù)據(jù)的危與機(jī)

          共 1525字,需瀏覽 4分鐘

           ·

          2021-05-29 16:36

          點(diǎn)擊上方藍(lán)色字體,選擇“設(shè)為星標(biāo)
          回復(fù)”資源“獲取更多資源
          周末的時(shí)候,在網(wǎng)上看了周志明老師關(guān)于《云原生時(shí)代的Java》公開課,感慨頗深。
          周志明老師就不多做介紹了。我可以很負(fù)責(zé)的說,如果你沒有聽過周老師,那么你根本不是一個(gè)合格的 Java 語言使用者和開發(fā)者。
          過去的 25 年里,在企業(yè)軟件領(lǐng)域,Java 是絕對(duì)王者,但它讓開發(fā)者既愛又恨。一方面因?yàn)槠湄S富的生態(tài)和完善的工具支持,可以極大提升了應(yīng)用開發(fā)效率;但在運(yùn)行時(shí)效率方面,Java 也背負(fù)著"內(nèi)存吞噬者","CPU 撕裂者"的惡名,持續(xù)受到 NodeJS、Python、Golang、Rust 等新老語言的挑戰(zhàn)。
          在過去的25年里,Java在于其他語言進(jìn)行競(jìng)爭(zhēng)時(shí),大家可以想想靠的是什么?不是語法也不是類庫(kù),而是龐大的軟件生態(tài)。簡(jiǎn)單的說就是我想要什么就有什么,直接Maven加個(gè)依賴,一切都解決了。
          然而,這個(gè)現(xiàn)在看起來仍然是堅(jiān)不可摧的Java帝國(guó),其統(tǒng)治地位的穩(wěn)固程度不僅沒有高枕無憂,隨著云原生時(shí)代而降臨,說是危機(jī)四伏也不為過。
          本文也不討論為什么云原生(Cloud Native)是未來發(fā)展的一個(gè)方向,起碼現(xiàn)在看來云原生是一個(gè)大方向。
          云原生時(shí)代,對(duì)應(yīng)用運(yùn)行時(shí)的要求:
          • 體積小

          • 啟動(dòng)快

          • 占用資源少

          • 水平擴(kuò)展

          大家可以看看Java占哪樣?一個(gè)最普通的Java應(yīng)用,編譯后起碼幾百M(fèi),啟動(dòng)在1分鐘以上,占用資源動(dòng)輒8G內(nèi)存起步,水平擴(kuò)展更是無從談起。
          我們可以舉幾個(gè)例子來看,例如大名鼎鼎的Logstash,因?yàn)橘Y源占用的原因,被Elstaic.co用Golang的Filebeat代替了Shipper部分的職能。另外由Scala編寫的Linkerd,作為服務(wù)網(wǎng)格概念的提出者,卻最終被Envoy所取代,其主要弱點(diǎn)之一也是由于Java虛擬機(jī)的資源消耗所帶來的劣勢(shì)。
          正是由于潮流趨勢(shì)的改變,新一代的語言與技術(shù)尤其重視輕量化和快速響應(yīng)能力,大多又重新回歸到了原生語言(Native Language,如Golang、Rust)之上。這恰恰是Java的弱點(diǎn)。
          有同學(xué)說,你說了這么多對(duì)于數(shù)據(jù)領(lǐng)域有什么影響?
          在云原生時(shí)代,軟件通常會(huì)作為一種服務(wù)來交付,也就是軟件即服務(wù)(SaaS)。那么基于此,我們可以看看軟件在開發(fā)交付方面的標(biāo)準(zhǔn):
          • 使用標(biāo)準(zhǔn)化流程自動(dòng)配置,從而使新的開發(fā)者花費(fèi)最少的學(xué)習(xí)成本加入這個(gè)項(xiàng)目。

          • 和操作系統(tǒng)之間盡可能的劃清界限,在各個(gè)系統(tǒng)中提供最大的可移植性。

          • 適合部署在現(xiàn)代的云計(jì)算平臺(tái),從而在服務(wù)器和系統(tǒng)管理方面節(jié)省資源。

          • 將開發(fā)環(huán)境和生產(chǎn)環(huán)境的差異降至最低,并使用持續(xù)交付實(shí)施敏捷開發(fā)。

          • 可以在工具、架構(gòu)和開發(fā)流程不發(fā)生明顯變化的前提下實(shí)現(xiàn)擴(kuò)展。

          這套理論適用于任意語言和后端服務(wù)(數(shù)據(jù)庫(kù)、消息隊(duì)列、緩存等)開發(fā)的應(yīng)用程序。大家想一想大數(shù)據(jù)領(lǐng)域的中間件哪個(gè)符合這個(gè)標(biāo)準(zhǔn)。大數(shù)據(jù)領(lǐng)域的各個(gè)中間件普遍集臃腫笨重、極高的部署/運(yùn)維成本、自身巨大的資源消耗、難如登天的水平擴(kuò)容,和云原生的要求想去甚遠(yuǎn)。
          這也是為什么Flink、Pulsar這類框架在設(shè)計(jì)之初就考慮了對(duì)K8s的支持。
          當(dāng)然Java的開發(fā)者們并沒有坐以待斃,在未來的幾年也是這門語言關(guān)鍵的轉(zhuǎn)型期。不然面對(duì)Go、Rust這樣新興的挑戰(zhàn)者,即使再深的護(hù)城河也終有被蠶食殆盡的一天。
          假如有一天,數(shù)據(jù)領(lǐng)域的中間件放棄了Java語言,你準(zhǔn)備好了嗎?

          硬剛Hive | 4萬字基礎(chǔ)調(diào)優(yōu)面試小總結(jié)

          如何打破職業(yè)瓶頸

          快手大數(shù)據(jù)平臺(tái)服務(wù)化實(shí)踐
          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  息子无码一区二区三区免费 | 午夜操逼视频网 | 超碰在線超碰免費 | 日本一级婬片免费放 | 人上人草视频在线观看 |