色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

合適的架構才是最好的架構?

jf_ro2CN3Fa ? 來源:芋道源碼 ? 2023-05-30 09:55 ? 次閱讀
Andrew Hunt 和 David Thomas 的《程序員修煉之道:從小工到專家》無疑是軟件開發者們最喜愛的書籍之一。但是,我有時會想,到底有多少軟件工程師真正閱讀過這本書呢?

盡管這本書并沒有詳細闡述微服務和單體架構的方方面面,但它也提供了足夠多的信息 —— 甚至可以說是全部信息 —— 幫助我們做出最好的,或者說是最務實的決定,來構建軟件。僅僅是目錄本身就值得稱贊!但是,即使過去了 25 年,這個行業似乎仍未領會到其最基本的教誨 —— 那就是,根據實際情況選擇合適的工具

另一個大名鼎鼎的人物,就是 Martin Fowler,他因遵循 “根據實際情況選擇合適的工具” 這一理念而嶄露頭角的。任何熟悉持續重構這一概念的人,也很可能聽過 Martin Fowler 的名字。他甚至寫了一本專門講述這個主題的書。

但如果你不想讀或者買不起,這里有一個極簡的版本:“始終保持重構。如果你接觸到代碼,并且有能力改進它,那就去改進,但絕不提前優化。 ” 這本書的精髓被濃縮為這句話。在這本書里,他不僅分享了他對重構的見解,還討論了許多其他現代軟件開發的主題,比如架構,更具體地說,單體架構和微服務。

相反,從單體開始,使它保持模塊化,一旦單體成為問題時把它分解成微服務。

——martinfowler.com

在 2023 年初,React 的開發人員和維護人員的行為讓開發者們大吃一驚,現在又出現在了亞馬遜 Prime Video 的開發者身上,最近他們發表了一篇文章,討論了從微服務轉向單體架構的過程(如果你還沒讀過,為了理解背景,請閱讀)。這引發了很大的討論,因為考慮到亞馬遜還擁有 AWS,在其上建立的無服務器和微服務架構遠比我們都應該接受的多 —— 但那是另一個故事了。

那么,到底發生什么事情了呢?好吧,想象一下。懸崖邊上的第一只羊跳了下去,然后其他羊都跟著跳了下去。但是后面的羊都沒注意到,第一只羊 —— 亞馬遜 —— 是穿著降落傘跳的。后面的羊都沒有注意到。不幸的是,這種情況并不少見,而這也是我多年來一直在反對的。

僅僅因為大型科技公司正在采用一些新的架構、工具或庫,并不意味著它對每個人,包括推出它的那個公司,都是可行的。還記得谷歌的 Angular.js 嗎?就是這個道理……

亞馬遜 Prime Video 的故事與此非常非常相似。推動了云服務發展的這家公司的部分部門,已經意識到了 Martin Fowler 在 2014 年非常恰當地指出的一個事實 —— 這種模式可能并不適用,而且還沒有足夠的證據來證明它會有效。當然,這并不意味著亞馬遜就不應該嘗試這種架構,或者不應該構建支持這種架構的 AWS 產品。Martin 本人也同意,這種嘗試是有價值的。但是,嘗試與采納是有很大差異的,在產生實際效果之前的盲目嘗試和盲目采納差異更大。

盡管對許多人來說,亞馬遜開發者決定放棄部分微服務,轉而選擇單體架構的決定可能令人震驚,但這其實一點都不出人意料。微服務是否能成功的可能性一直是五五開。

與那些永遠看好未來、天真樂觀的人不一樣,軟件開發并非非黑即白,無論它最終如何編譯成 0 和 1。這就是為什么我們需要回歸到由 Andrew Hunt 和 David Thomas 在《程序員修煉之道:從小工到專家》中闡述的基本原則,這是每一個緊隨亞馬遜步伐,一頭扎向同樣深淵的人都應該做的。

亞馬遜 Prime Video 團隊的決定并不應被視為一種普遍的方案,盡管我確信會有許多人走進辦公室,或者登錄 Slack,準備召開緊急的工程全員會議,提出一個計劃,要么恢復原狀,要么將他們的微服務 “單體化”。我相信我不必須這么說,但請你不要這樣做。如果你最終運行的微服務是從解決實際問題的單體架構中剝離出來的,那么你顯然已經做出了正確的選擇,推翻這個決定至少不會解決任何問題。

另一方面,如果你從一開始就由于像 “其他人都在這么做” 這樣的輕率理由而采用微服務,那么你可能需要坐下來對你的架構進行一次真正的成本效益分析,甚至可能需要與亞馬遜 Prime Video 的案例進行對比。他們勇敢地承認微服務是錯誤的選擇,這至少表明這個決定并非出于市場炒作。你的分析結果可能會證明,采用單體架構所解決的問題少于其帶來的問題和投入,在這種情況下,你應當堅持你現有的選擇。

Martin Fowler 和我都贊同一個簡單的事實,那就是

我們在討論這個話題,對前端開發也同樣適用。微前端是一種可能的解決復雜前端問題的方案,但這并不一定意味著它是每個復雜前端的正確解決方案。

這篇文章就是要說明,不要盲目追隨大型科技公司。務實的編程依然占主導地位,根據實際情況選擇合適的工具永遠是最佳建議。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 軟件開發
    +關注

    關注

    0

    文章

    612

    瀏覽量

    27353
  • 架構
    +關注

    關注

    1

    文章

    513

    瀏覽量

    25468
  • 程序員
    +關注

    關注

    4

    文章

    951

    瀏覽量

    29799

原文標題:合適的架構才是最好的架構?

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    軟件架構

    軟件架構軟件架構軟件架構
    發表于 03-29 21:54

    哪款放大器才是最好的驅動器?

    哪款放大器才是最好的驅動器?ADC架構、分辨率、信號帶寬和其他特定應用細節在決定最佳方法上都發揮著作用。在本文中,我們在驅動SAR(逐次逼近寄存器)ADC的情況下將考慮一下這些問題。
    發表于 04-09 06:05

    ARM架構是什么

    從單片機轉到ARM,主要需要學習ARM的架構,ARM相比單片機多了一些外設和總線。在僅僅是裸奔的情況下,如果熟悉了ARM架構,那么我認為使用任何ARM架構的芯片和用單片機將沒有區別。ARM架構
    發表于 07-01 09:23

    ARMARM的架構與ARM架構的區別

    目錄文章目錄目錄ARMARM 的架構x86 架構與 ARM 架構的區別ARM 的技術實現ARMARM 架構過去稱作進階精簡指令集機器(Advanced RISC Machine,更早稱
    發表于 07-16 06:43

    arm架構和cortex架構

    arm架構和cortex架構,ARM Cortex內核系列提供非常廣泛的具有可擴展性的性能選項,設計人員有機會在多種選項中選擇最適合自身應用的內核,而非千篇一律的采用同一方案。Cortex系列組合
    發表于 07-27 07:02

    淺析ARM架構與STM32系統架構

    ARM架構是怎樣構成的?STM32系統架構地基本原理是什么?
    發表于 10-20 06:10

    軟件架構存在的意義

    1、前言在嵌入式軟件開發,包括單片機開發中,軟件架構對于開發人員是一個必須認真考慮的問題。軟件架構對于系統整體的穩定性和可靠性是非常重要的,一個合適的軟件架構不僅結構清晰,并且便于開發
    發表于 10-27 09:34

    如何來選擇合適電源逆變器的隔離架構

    在電源逆變器的實際應用中,應該如何來選擇合適的隔離架構,以及對電路和元件的選擇要求有哪些,電工天下小編整理了有關《電源逆變器應用中選擇隔離架構電路和元件的要求》,希望對大家有所幫助。電機和電源控制
    發表于 11-15 06:02

    什么是RISC架構?RISC架構的優點與缺點

    什么是RISC架構?RISC架構的優點與缺點
    發表于 02-27 11:22

    微服務架構多微才合適

    大家也都認可,隨著數據量、流量、業務復雜度的提升,服務化架構架構演進中的必由之路,今天要討論的話題是:微服務架構多“微”才合適
    的頭像 發表于 02-07 17:14 ?3379次閱讀
    微服務<b class='flag-5'>架構</b>多微才<b class='flag-5'>合適</b>

    什么樣子的物聯網架構才是合適

    隨著公司采用物聯網,他們面臨著影響網絡和系統架構的連接性、數據量和安全性挑戰。
    發表于 03-23 15:36 ?619次閱讀

    ARM Cortex-A7合適CPU處理應用才是最好的 (2)

    ARM Cortex-A7,ARM史上最省功耗處理器橫空出世!更小身材,更高性能,術業有專攻,再也沒有“大材小用”,再也沒有“力所不及”,我們相信,用最合適的CPU處理最合適的任務,才是最好
    的頭像 發表于 07-02 12:52 ?4217次閱讀

    ARM Cortex-A7合適CPU處理應用才是最好的 (1)

    ARM Cortex-A7,ARM史上最省功耗處理器橫空出世!更小身材,更高性能,術業有專攻,再也沒有“大材小用”,再也沒有“力所不及”,我們相信,用最合適的CPU處理最合適的任務,才是最好
    的頭像 發表于 07-02 12:51 ?8622次閱讀

    什么是架構架構本質

    Linux有架構,MySQL有架構,JVM也有架構,使用Java開發、MySQL存儲、跑在Linux上的業務系統也有架構,應該關注哪一個?想要清楚以上問題需要梳理幾個有關系又相似的概念
    的頭像 發表于 09-22 14:18 ?1028次閱讀

    什么是系統架構 為什么要做架構設計

    以上的定義從高層抽象視角對什么是架構給予了自己的回答,相比之下,Neil Ford 在《軟件架構基礎》一書中對架構給出了更具象的闡述,其從架構組成元素入手,從更偏向實踐的角度對
    的頭像 發表于 11-10 10:19 ?4383次閱讀
    主站蜘蛛池模板: 四川少妇大战4黑人| 久久re视频这里精品09免费| 精子pk美女| 亚洲一区精品在线| 国内精品七七久久影院| 性欧美videosex18嫩| 媚药调教被撑到合不拢h| 国产精品美女久久久久AV超清 | 国产午夜精品久久理论片小说 | 乳女教师欲乱动漫无修版动画 | 国产69精品久久久久妇女| 亚洲风情无码免费视频| 久久免费看少妇级毛片蜜臀| 春水福利app导航| 永久adc视频年龄确认| 人妻免费久久久久久久了| 九九热这里只有精品视频免费| 成人在线视频播放| 2021年国产精品久久| 日韩欧美精品有码在线播放| 国产精片久久久久久婷婷| 中文字幕视频在线免费观看| 添加一点爱与你电视剧免费观看 | 久久国产乱子伦免费精品 | jizz老师| 一个人的免费高清影院| 翘臀后进美女白嫩屁股视频| 成人在线免费观看| 中文字幕乱码在线人视频| 色综合久久88一加勒比 | 免费一级毛片在线观看| 国产精品99久久久久久动态图| 伊人久久大香线蕉电影院 | 月夜直播免费观看全集| 色狐直播免费观看| 秘密影院久久综合亚洲综合| 国产日韩欧美有码在线视频| yin荡体育课羞耻play双性| 早乙女由依在线观看| 亚洲高清中文字幕免费| 披黑人猛躁10次高潮|