作為一個程序員,你真的需要微服務嗎?

2021-03-06    分類: 網站建設

前言

我們已經 設計和構建 了十多年的軟件,大部分時間我們一直在使用優秀的 Symfony 框架來實現這一目標。 Symfony 是一個傳統的單體 PHP 構件集,受 Java Spring 的啟發,我們發現它非常適合 企業 Web 應用程序 和 數字產品 的快速開發,而這些正是我們主要經濟來源。


然而,去年發布的 Symfony 4 代表了該框架的重點逐漸變化 ; 這變化體現在其遠離單體架構和向 微服務 靠攏,這種變化背后的方法論在過去幾年中越來越受歡迎。

為了說明這一轉變,新版本在默認情況下使用了微內核(micro by default), Symfony 組織大力宣傳其新的微內核設計,聲稱與 Symfony 3 相比,編寫應用程序所需的代碼減少了 70%。

除了這些優點外,這一變化意味著運行單個應用程序的開銷要小得多,這使得 Symfony 對于微服務體系結構的使用更具吸引力。

什么是單體應用和微服務

微服務設計基于將大型傳統(單體)應用程序拆分為幾個小型、不同的應用程序的概念。這些應用程序將處理單個業務功能領域,并與其他組件協作,就像它們是第三方應用程序一樣


這真的是一個新事物嗎,或者這只是一個具有時髦名字的面向服務體架構(SOA)? 我們不會在這里進行辯論,畢竟你可以到 Slashdot 和 Hacker News 上討論這個問題。不過,我們要說的是,微服務方法 ( 或者隨便你怎么稱呼它 ) 主要對大型組織有益。這是因為非常大的應用程序可以被分割成幾個不同的服務,每個服務由各自獨立的開發團隊管理。


微服務體系結構的另一個好處是允許靈活地擴展一個特定組件的數量,而不是整個應用程序。這特性非常適合應用在 彈性云計算 ,但在大多數情況下,我認為這種效率提高會被一個大而突出的問題所淹沒。

你真的需要微服務

我的觀點是,除非你在 Google 或 Netflix 等擁有數百名軟件開發人員的公司工作,否則你可能不需要微服務。事實上,對于大多數中小型企業來說,采用這種設計可能非常不合適。

我將會講到一些例外,但是微服務的開發和維護成本是很多人都注意到的卻又很少談及的問題。我們可以用一個簡單的問題來決定是否適合把微服務作為你的起點 : (譯者注:這句子的原文中有個詞語叫 房間里的大象 ,是指所有人都注意到卻又不被提及的問題)

你系統中的某個組件(例如用戶管理)是否足夠復雜,以致于需要多個開發人員全職進行持續開發?

如果答案是否定的,那么微服務方法可能會浪費您的時間和金錢。相反,如果你足夠幸運,能夠在以后達到這個規模,你可能就可以慢慢地把那些需要多人開發的部分分離出來。


為什么微服務在開發和運維上開銷更大

由于您不需要處理大量的分布式系統問題,因此單體應用程序通常是一個開銷更少的方案。使用像 Symfony 這樣的單體框架所通過提供開箱即用的集成特性提供了許多好處,這些特性可以方便地從應用程序的所有區域訪問。你基本上可以避免處理以下的這些問題 :

  • 分布式系統上的身份驗證和授權
  • 跟蹤多個獨立系統上的復雜事務
  • 分布式鎖
  • 服務間的通信
  • 多個應用程序上的額外配置管理

例外情況(混合的方式)

有時候微服務是合適的,但是根據我的經驗,在這些情況下,可伸縮性需求或容錯需求超過了必須設計和管理分布式系統的缺點。這里的一個很好的例子是像 Monzo Bank 這樣的企業應用,它既需要能夠立即按需求進行伸縮,又需要能夠確保系統某個區域的故障不會影響到另一個區域 .

我們在 Browser 中多次重復的一個好方法是采用混合方法進行系統設計。這涉及到一個由支持微服務包圍的中心整體,但只有在有充分理由的情況下才會如此。例如,我們最近在將 NLP 處理集成 到應用程序中時使用了這種方法。


我們已經構建了幾個系統,其中核心業務應用程序作為一個整體構建 ( 通常在 Symfony 中 ),由獨立的微服務管道處理繁重的數據處理。這不僅允許我們在不影響核心應用程序性能的情況下處理大量數據量,而且如果需要,我們可以在不影響平臺的日常操作前提下,將這些組件下線。

理想情況下,你能夠清楚地理解規模和未來的開發需求,這對于決定體系結構非常重要。你想快速進入市場嗎?您想要支持數百萬用戶嗎?您是否需要處理 大量的數據流 。

盡早做出正確的決定可以增加產品在最短的時間內獲得投資回報的機會,而不會妨礙您將來的探索。 在后續計劃中將組件微服務化通常比最初的 MVP 開發中微服務化更具成本效益。

網頁名稱:作為一個程序員,你真的需要微服務嗎?
文章地址:http://m.kartarina.com/news/104551.html

成都網站建設公司_創新互聯,為您提供網頁設計公司用戶體驗電子商務網站營銷微信公眾號商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 天堂无码久久综合东京热 | 亚洲中文无码mv| 中文无码vs无码人妻| 亚洲午夜AV无码专区在线播放| 粉嫩大学生无套内射无码卡视频 | 无码人妻精品一区二区三区99不卡| 十八禁视频在线观看免费无码无遮挡骂过 | 无码少妇一区二区浪潮av| 久久无码AV中文出轨人妻| 精品无码人妻一区二区免费蜜桃| 黄色成人网站免费无码av| 不卡无码人妻一区三区音频| 白嫩少妇激情无码| 日韩AV高清无码| 国产午夜无码片在线观看影院| 久久久久久久人妻无码中文字幕爆| 久久久无码精品午夜| 日韩AV无码精品人妻系列| 国产精品无码永久免费888| 亚洲欧洲国产综合AV无码久久| 无码人妻精品一区二区在线视频| 日韩毛片无码永久免费看| 亚洲av无码专区在线电影| 四虎成人精品无码| 国产精品亚韩精品无码a在线| 国产综合无码一区二区色蜜蜜| 亚洲中文无码永久免费| 老司机亚洲精品影院无码| 国产精品无码无在线观看| 亚洲日韩中文无码久久| 久久久久亚洲av成人无码电影 | 日韩精品无码一区二区视频| 无翼乌工口肉肉无遮挡无码18| 亚洲av永久无码精品秋霞电影秋| 无码国产精品一区二区免费| 白嫩少妇激情无码| 无码高潮爽到爆的喷水视频app| 亚洲av无码一区二区三区四区| 亚洲私人无码综合久久网| 免费无码又爽又刺激高潮视频| 久久久无码精品亚洲日韩按摩|