咱們總結了每一個技術團隊都會遇到的 4 個難題

阿里巴巴 2019 年實習生校園招聘已經啓動,爲此,咱們整理了一篇《每一個技術團隊都會遇到的4個難題》,幫助即將從校園進入公司實習的後端程序員,以實踐的視角,看看一個後端技術團隊會遇到的一些難題。雖然,技術上的難題遠不止於此,但若是能從這篇文章中得到一些職業體感,也許對你的實習面試會有所幫助。html

參與「測測你的程序員屬性」,有機會得到 Cherry 櫻桃機械鍵盤、羅技鼠標等獎品。程序員

- 正文開始 -面試

從單個應用到多個應用,從百千級別的訪問流量到十萬、百萬級別,從兩三我的的創業技術團隊到上千人的技術團隊矩陣,這些過程當中,技術團隊都避不開了如下 4 個問題:後端

  • 如何預測業務峯值時的容量
  • 如何提高業務的穩定性
  • 如何提升業務的監控能力
  • 如何提升開發效率

如何預測業務峯值時的容量

早期的作法是在開發測試環境進行壓測,來評估線上容量,但線下環境的機器規模,和線上差距很大,很難經過線下推導線上。根據經驗,將採購的機器加入不一樣的應用裏面,這時候就會遇到一個問題: 最大業務峯值容量是多少?網絡

這個問題,其實挺難回答的。這個應用多加幾臺,那個應用少加幾臺,總體的業務峯值承受能力就會不同,加減的規則很難經過人的經驗來肯定,最多隻能做爲一些輔助判斷。另外,核心交易鏈路的梳理,也是一個體力活,若是依賴人爲處理,有可能會漏掉一些看起來不那麼重要的」分支」,這是整個容量不肯定的地方,可變的因子不少。架構

比較有效的方式, 是在生產系統部署全鏈路壓測,來驗證各個生產環節是否能經受住各種流量的訪問,讓真實的流量來訪問生產環境,實現全方位的真實業務場景模擬,確保各個環節的性能、容量和穩定性都可作到萬無一失。運維

如何提高業務的穩定性

平常的各類運營活動,都有可能帶來巨大的流量高峯,除了經過引入全鏈路壓測來驗證各個生產環節是否能經受住各種流量的訪問, 構建系統的高可用保障能力也很關鍵,涉及多個組件或模塊,例如軟負載和配置中心、服務接入和調度編排、消息接收和發送、容器和調度、限流和降級 等。分佈式

運營一次活動,最大的流量峯值是能夠預測的,這就是服務的最大接待能力,好比50萬筆的交易建立峯值,那超過的怎麼辦?這時候,採用限流的方式,被限流的客戶在某一段時間內沒法進行購物,一旦系統恢復服務能力,就能夠繼續服務被限流的客戶,從而避免因流量超過上限,而影響整個平臺的客戶。微服務

如何提升業務的監控能力

分佈式應用系統在協做性,擴展性和必定的容錯性方面,體現出了優點,可是在監控、運維和診斷層面,面臨至關大的挑戰。工具

早期,架構師能夠畫出整個應用系統的交互架構圖,隨着業務的發展,當擁有大量的應用、微服務和容器,即使整理了一幅交互架構關係圖,也會由於應用系統的變動,新需求的實現,整個應用系統的交互又會發生變化,這種變化無處不在,天天都在發生。所以,隨着業務量的增長,須要覆蓋面廣且深的全鏈路跟蹤監控系統 ,來診斷調用鏈的問題。

越是複雜的業務形態,定位的難度越大,就越須要全方位、360度無死角的監控,所以,創建一個平臺化、跨領域和立體化的監控,能極大的縮短業務遇到問題時的恢復時間。

如何提升開發效率

開發效率是一個很普遍的話題。不一樣的開發崗位,不一樣的使用場景,會有不同的開發效率工具。這裏,咱們介紹幾款後端工程師常常會用到的效率工具。

  • 雲端部署效率工具:

Cloud Toolkit 是一款 IDE插件,能夠幫助開發者更高效地開發、測試、診斷並部署應用。藉助這個工具,開發者可以方便地將本地應用一鍵部署到任意機器,或 ECS、EDAS、Kubernetes,並支持高效執行終端命令和 SQL 等。點此瞭解詳情。

  • MacOS 搜索利器:

MacOS 自帶的聚焦搜索(Spotlight),能夠將文稿、郵件、應用等整合在一塊兒,經過關鍵詞匹配來進行搜索。Alfred 能夠看做是Spotlight的加強版,是計算機依賴者的效率神器,支持添加自定義網絡搜索引擎,指定規則精準定位本地文件,以及在命令框內使用計算器、詞典等實用工具。

  • 畫圖效率工具:

系統架構圖是爲了抽象的表示軟件系統的總體輪廓和各個組件之間的相互關係和約束邊界,以及軟件系統的物理部署和軟件系統的演進方向的總體視圖。經過架構圖,可讓干係人理解、遵循架構決策,就須要把架構信息傳遞出去。架構圖就是一個很好的載體,所謂一圖勝千言。點此瞭解詳情。

  • JSON 瀏覽效率插件

對於 JSON 的數據,若是不編排,格式查看起來會很費勁。JSON-handle 是一款對 JSON 格式的內容進行瀏覽和編輯,以樹形圖樣式展示 JSON 文檔的插件,支持實時編輯。

  • Java 代碼規約掃描效率插件

這是一款 Java 代碼規約掃描工具,旨在以工具的手段進行代碼規約的落地,項目包含三部分:PMD規則實現、IntelliJ IDEA 插件、Eclipse 插件,幫助開發人員在工程研發的多個階段進行代碼規約檢查, 下降故障率、提高編碼效率和質量。點此瞭解詳情。

固然,除了這些現成的效率工具,提高整個技術團隊的開發效率,須要單獨開發或改造一些系統,例如團隊協做平臺、服務化改造等,當你以實習生的身份加入公司後,如有機會參與到這些提高開發效率的項目過程當中。由此造成的效率意識,將會影響到你從此的工做習慣和理念。

本文部份內容來源於阿里巴巴中間件資深產品專家丹臣的內部分享《阿里巴巴中間件上雲實踐》。阿里巴巴中間件的實習生招聘詳情,請查看本期推文的第三篇。

原文連接

相關文章
相關標籤/搜索