<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>

          為什么我們從 Docker 轉(zhuǎn)向了 Go?

          共 1291字,需瀏覽 3分鐘

           ·

          2021-06-13 09:30



          在以往的很多項目中,我們都采用了Docker,而且效果都很不錯(大多數(shù)時候都不錯,只不過有時我們的生產(chǎn)系統(tǒng)中的紅帽系統(tǒng)文件會出一些莫名的狀況,但可能并不是Docker的問題)。


          但是,這一次我們并沒有采用Docker,原因是沒有必要。我們用golang編寫了Web服務(wù)和靜態(tài)的html,并且還是用了golang 1.16的新指令//embed,最終得到了一個可部署的二進制文件。


          作為一個自強自立的創(chuàng)業(yè)公司,我們可以使用的資源非常有限。正是出于這個原因,我們才選擇了Golang。


          我們也渴望能夠花費幾個星期來構(gòu)建完善的CI / CD管道、優(yōu)雅的部署流程以及漂亮的儀表板。但是,為了吸引用戶訂閱,我們需要交付軟件。任何與這個目標(biāo)沒有直接關(guān)系的工作都要靠邊站,Docker就是其中之一。


          Docker本身的代碼量超過了900萬,其自身的bug不可避免,而且還有其自身的特質(zhì)。


          使用Golang可以讓我們構(gòu)建速度非??斓腤eb服務(wù)(至少能夠滿足我們當(dāng)前的增長水平),而且可伸縮性非常強(至少能夠滿足我們當(dāng)前的需求)。我們的每臺服務(wù)器每秒可以處理數(shù)千個事務(wù)。


          但實際的業(yè)務(wù)量每秒還不到一千。但是,可以肯定的是,我們用node或deno也可以達到相同的水平。V8引擎也非???。


          如果你的最大流量每秒只有大概兩個事務(wù)(我們有一個健身視頻應(yīng)用,但肯定沒有推特那個水平的擴展性問題),那么實際上無論選擇哪種編程語言都沒有關(guān)系。如果容量不足,只需升級服務(wù)器就可以了。


          我們選擇Go的原因是,golang的打包比node、Java或C#好太多了。最終只有一個二進制文件。


          構(gòu)建時,只需運行:


          go build


          測試時,只需運行:


          go test


          部署時,只需運行:


          scp app user@host:
          ssh user@host “nohup ./app”


          我們的實際工作的確比上述“稍微”復(fù)雜一些,我們創(chuàng)建了一個SystemD腳本在服務(wù)器啟動時運行服務(wù)。我們還投入了一個專用的構(gòu)建服務(wù)器,其上運行了一個10行代碼的shell腳本,而這個腳本可以完成所有的構(gòu)建工作(git clone、go build、go test、go lint、go vet)。但是,我們之中還有人認為這太復(fù)雜了。


          過幾天,可能我們還會添加一個界面(比如https://www.rundeck.com)來控制部署。


          我們花在建立構(gòu)建和部署系統(tǒng)的總時長非常短,我們甚至都不知道如何衡量。


          下面,我們來算一算學(xué)習(xí)Docker、部署Docker、還有故障排除等工作需要花費多少時間。即便你非常喜歡Docker,而它也改變了你的生活,但它是必不可少的嗎?


          你真的認為Docker比我們使用golang內(nèi)置功能建立的構(gòu)建和部署還簡單嗎?我敢向你保證,并沒有。

          瀏覽 70
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产国产国产在线无码视频 | 香蕉毛片| 中文字幕在线和永久在线的区别 | 99在线视频免费观看 | 中国A级片 |