成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

朱曄的互聯(lián)網(wǎng)架構實踐心得S1E1:Pilot

CoderBear / 2639人閱讀

摘要:架構團隊的人是不是很輕松,業(yè)務團隊天天加班搞項目,架構團隊貌似都是在喝茶聊天研究一些不實用的東西。架構團隊的架構師最好是在業(yè)務團隊深耕過,知道痛點所在的,這樣研發(fā)出來的系統(tǒng)和工具能夠和公司目前的項目所匹配發(fā)揮最大的作用,讓大家愛不釋手。

最近幾年寫博客確實寫得少了,初出茅廬的時候什么都愿意去寫,現(xiàn)在寫一點東西之前會反復斟酌是否有價值。工作十幾年了,做了N多個互聯(lián)網(wǎng)系統(tǒng),業(yè)務涉及教育、游戲、電商、O2O、P2P,算是各種類型的互聯(lián)網(wǎng)系統(tǒng)都摸過,多少有一些心得,架構方面的文章網(wǎng)上很多很多,有些是說一些方法論,有些是說一些具體的案例,感覺自己想分享的東西和別人已分享的是有點不同的,還是應該留下點什么。在這里我更多想分享一下搭建一套完整的互聯(lián)網(wǎng)系統(tǒng)架構方面一些具體的實踐心得,大概會從這幾個方面來寫:

各種廢話的閑聊和吐槽

屢試不爽的架構三馬車:介紹一個簡單實用的可擴展的互聯(lián)網(wǎng)架構

相輔相成的存儲四件套:介紹一下個人比較喜歡的一個存儲組合以及適用場景

簡單好用的監(jiān)控六兄弟:介紹監(jiān)控方面一直在用的一些工具以及強調(diào)監(jiān)控的重要性

不斷耕耘的基礎中間件:中后期的項目需要有完善的基礎中間件,這里進行逐一介紹

令人頭痛的飛機換引擎:有的時候需要對高速發(fā)展的項目進行重構,這里分享一些經(jīng)驗

三十種架構設計模式(上):針對微軟總結的一些架構設計模式給出自己的一些理解

三十種架構設計模式(下):針對微軟總結的一些架構設計模式給出自己的一些理解

架構評審和架構文檔:自己總結的架構評審100問以及架構文檔5要素

有關All-In-One架構

很多項目起步的時候都會以一個All-In-One的項目起步,使用一套MVC框架,對外提供數(shù)據(jù)的Controller、包含業(yè)務邏輯的Service、訪問數(shù)據(jù)庫的DAL、定時任務,所有的東西都在一個項目內(nèi),然后在半年和一年之后業(yè)務發(fā)展起來了急需對現(xiàn)在的架構進行重構(說的不好聽就是推翻重來了),原因如下:

超過5人在同一個大項目中修改代碼,分支管理代碼沖突解決成本太高了。

隨著壓力的上升這么簡單的直腸子架構很難去拆分分散壓力從而頂不住高并發(fā)。

雖然對于MVC我們會有明確的目錄來存放三大組件的邏輯但是隨著業(yè)務邏輯越來越復雜,我們會有聚合的Controller和聚合的Service產(chǎn)生,所有組件不再位于同一個水平面,代碼全都堆積在一起腐化很快,容易形成復制粘貼的趨向。

除非已經(jīng)明確是實驗性臨時性的項目,我個人不建議以這樣的方式起步,使用一個相對簡單的架構(見文2)并不會浪費太多的時間,但是這個開局往往可以避免之后的推翻重來。

有關百花齊放的平臺和語言

我個人從.NET轉(zhuǎn)到Java平臺,之前的公司有使用過PHP,Python,Go。經(jīng)歷過.NET和PHP轉(zhuǎn)Java,經(jīng)歷過混用各種語言的公司。在這幾想說幾點:

曾經(jīng)犯過錯,在團隊不大的時候允許保留兩種技術PHP和Java同時發(fā)展。無論大小,每個團隊的成員都需要自己的技術發(fā)展和晉升,每個技術棧都有不同的運維方式,每個技術都會有各自的妖怪問題,在一個規(guī)模不大的技術團隊里同時使用多個技術,對于團隊來說真是一個很大的消耗。語言的確有各司其職發(fā)揮所長之說,但是小于30人規(guī)模的開發(fā)團隊真沒必要這么早進行技術棧的分叉。

隨著團隊規(guī)模的擴大,處于招聘成本、使用成本、性能、資源豐富性等等問題,往往會進行技術轉(zhuǎn)型,許多平臺花了幾年時間都無法徹底從.NET或PHP轉(zhuǎn)到Java,這是一個痛苦的過程。雖說技術負責人總是趨向于一開始使用自己熟悉的技術棧來搭建系統(tǒng),但是不得不承認Java這門綜合性很強的語言是一個不錯的開局方式,開源資源豐富、好招人、高手多、開發(fā)效率還湊活、性能也不算差、少點折騰就能把精力更多放到業(yè)務上。倒不是說.NET和PHP不好,而是我們最后需要接受很多殘酷的現(xiàn)實。

隨著項目規(guī)模的擴大,很多東西勢必需要自己來寫,開源往往不適合,這個時候發(fā)揮語言各自的所長又會顯得很重要。Go在性能方面、可移植性方面、開發(fā)效率方面、高并發(fā)友好性方面有獨特的優(yōu)勢,是開發(fā)(網(wǎng)絡)中間件的很不錯的候選語言,往往可以替代C。Python的開發(fā)效率奇高,豐富的類庫基本任何需求都是一行代碼一句API解決問題,作為運維平臺各種工具和爬蟲的開發(fā)語言再適合不過,在AI方面也是鶴立雞群無可替代。

開發(fā)應該多接觸幾門語言,這是非常有好處的。有些語言在高并發(fā)方面有優(yōu)勢,有些語言在函數(shù)式編程方面發(fā)展的很好,有些語言在語法糖方面設計的很漂亮,每個語言在其特色上所在的層次會比較高一點,也容易被其它語言借鑒,多看一些語言會讓自己知道每一個技術能好到什么程度,不容易在綜合性語言中成為井底之蛙。

有關平臺架構團隊和業(yè)務團隊

技術團隊到了一定程度不但會橫向拆分為前中后臺,還會縱向拆分為框架架構團隊和業(yè)務團隊,研發(fā)中間件或框架的平臺架構團隊和一心耕耘業(yè)務代碼的業(yè)務團隊我都待過。在架構團隊的時候我們總會吐槽:

業(yè)務團隊不愿意配合架構團隊做技術升級,架構團隊辛辛苦苦搞這些還不是在解決業(yè)務團隊的問題?

業(yè)務團隊太謹慎保守了總是擔心架構升級影響現(xiàn)有系統(tǒng),想法太老舊了一點架構意識都沒有?

在業(yè)務團隊的時候我們又會吐槽:

架構團隊總是高高在上的樣子,他們體會不到業(yè)務的復雜性,做出來的東西根本不實用,這么難用的東西還不如我們的土辦法。

架構團隊的人是不是很輕松,業(yè)務團隊天天加班搞項目,架構團隊貌似都是在喝茶聊天研究一些不實用的東西。

在這里想表達幾個觀點:

技術發(fā)展到一定的程度,一定是需要一些中間件或框架來做統(tǒng)一的事情,這些中間件結合在一起形成一個平臺(見文5)可以大大減少出問題排錯的時間,也可以讓一些高并發(fā)下的優(yōu)化工作更簡單。

架構團隊的架構師最好是在業(yè)務團隊深耕過,知道痛點所在的,這樣研發(fā)出來的系統(tǒng)和工具能夠和公司目前的項目所匹配發(fā)揮最大的作用,讓大家愛不釋手。

在做架構升級的時候?qū)I(yè)務侵入性越小越好,業(yè)務團隊無感知最好,前提是我們的一些核心架構框架和中間件已經(jīng)是統(tǒng)一的標準化的,有一些框架還是自己研發(fā)比較好,在之后的一些文中會提到這個觀點。

做業(yè)務往往變動大,我們總是會習慣很多事情先手動來做,慢慢形成了對工具化自動化理念沒有這么敏銳。如果在這個時候有局外人能參與一下說不定可以碰撞出很多好的框架和工具來幫助我們提高生產(chǎn)力,這其實是一個好事情。

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/77358.html

相關文章

  • 曄的聯(lián)網(wǎng)架構實踐心得S1E1Pilot

    摘要:架構團隊的人是不是很輕松,業(yè)務團隊天天加班搞項目,架構團隊貌似都是在喝茶聊天研究一些不實用的東西。架構團隊的架構師最好是在業(yè)務團隊深耕過,知道痛點所在的,這樣研發(fā)出來的系統(tǒng)和工具能夠和公司目前的項目所匹配發(fā)揮最大的作用,讓大家愛不釋手。 最近幾年寫博客確實寫得少了,初出茅廬的時候什么都愿意去寫,現(xiàn)在寫一點東西之前會反復斟酌是否有價值。工作十幾年了,做了N多個互聯(lián)網(wǎng)系統(tǒng),業(yè)務涉及教育、游...

    rose 評論0 收藏0
  • 曄的聯(lián)網(wǎng)架構實踐心得S1E4:簡單好用的監(jiān)控六兄弟

    摘要:還可以初步判斷出問題的原因是異常導致還是突增的壓力所致。通過面板配置的服務調(diào)用量和業(yè)務進出量,排除上下游問題,定位出問題的模塊。 這里所說的六兄弟只指ELK套件(ElasticSearch+Logstash+Kibana)以及TIG套件(Telegraf+InfluxDb+Grafana)。 showImg(https://segmentfault.com/img/bVbhS81?w=...

    xiaoxiaozi 評論0 收藏0
  • 曄的聯(lián)網(wǎng)架構實踐心得S1E3:相輔相成的存儲五件套

    摘要:同步寫服務負責第一時間把重要的數(shù)據(jù)落地和落緩存。因為或主從復制導致的一些事故也是層出不窮的。這也是圖中對于的寫入由專門的異步流程進行的原因。合理規(guī)劃好的方式,以及想好在后的全套查詢方案。合理利用不同數(shù)據(jù)源的特性,組合使用發(fā)揮所長,避免 這里所說的五件套是指關系型數(shù)據(jù)庫、索引型數(shù)據(jù)庫、時序型數(shù)據(jù)庫、文檔型數(shù)據(jù)庫和緩存型數(shù)據(jù)庫。 showImg(https://segmentfault.c...

    OBKoro1 評論0 收藏0
  • 曄的聯(lián)網(wǎng)架構實踐心得S1E3:相輔相成的存儲五件套

    摘要:同步寫服務負責第一時間把重要的數(shù)據(jù)落地和落緩存。因為或主從復制導致的一些事故也是層出不窮的。這也是圖中對于的寫入由專門的異步流程進行的原因。合理規(guī)劃好的方式,以及想好在后的全套查詢方案。合理利用不同數(shù)據(jù)源的特性,組合使用發(fā)揮所長,避免 這里所說的五件套是指關系型數(shù)據(jù)庫、索引型數(shù)據(jù)庫、時序型數(shù)據(jù)庫、文檔型數(shù)據(jù)庫和緩存型數(shù)據(jù)庫。 showImg(https://segmentfault.c...

    U2FsdGVkX1x 評論0 收藏0

發(fā)表評論

0條評論

CoderBear

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<