成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

 前言

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

[[272089]]

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

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

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

什么是單體應用和微服務

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

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

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

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

你真的需要微服務

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

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

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

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

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

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

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

例外情況(混合的方式)

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

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

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

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

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

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

責任編輯:華軒 來源: 今日頭條
相關推薦

2009-05-21 15:58:12

程序員工作經驗職場

2019-07-25 07:42:35

程序員編程語言Python

2020-03-27 09:24:39

程序員技能開發者

2010-12-20 09:26:44

SQL索引

2023-12-26 18:47:32

2013-04-15 09:44:01

程序員

2016-04-18 12:58:42

菜鳥程序員跳槽

2016-07-26 13:47:49

程序員新手編程

2016-04-19 10:20:42

程序員遺憾

2023-01-31 08:16:45

GitHub文件Markdown

2019-11-18 10:06:44

程序員CDN靜態資源

2010-09-02 13:32:52

jQueryjQuery插件

2014-10-27 15:21:40

程序員代碼

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2015-05-18 09:23:33

2020-10-05 21:13:37

程序員技能開發者

2012-06-08 03:32:26

程序員電子郵件

2022-12-18 17:20:38

降級系統高并發

2023-07-19 08:25:05

代碼繼承關系review

2010-11-10 11:14:41

項目經理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品一区 | 做a视频在线观看 | 91免费在线看 | 在线国产中文字幕 | 国产成人精品免费 | 国产91av视频在线观看 | 在线看片网站 | 天堂在线www | 亚洲字幕在线观看 | 精品久久久久久一区二区 | 久久精品中文字幕 | 欧美综合国产精品久久丁香 | 国产成人精品综合 | 干干干操操操 | 毛片com | 国产日韩精品一区二区 | 免费一区二区三区 | 日本小电影网站 | 午夜成人在线视频 | 国产免费观看一区 | 亚洲午夜在线 | 在线欧美一区 | 国产乱码高清区二区三区在线 | 亚洲成av人片在线观看 | 成人综合伊人 | 亚洲精品一区二区三区蜜桃久 | 午夜国产羞羞视频免费网站 | chengrenzaixian| 久久久久久久久久久久久91 | 91免费观看视频 | 91精品国产欧美一区二区成人 | 粉嫩一区二区三区四区公司1 | 国产精彩视频在线观看 | 久产久精国产品 | 国产视频91在线 | 美女视频一区二区三区 | 在线看av网址 | 黑色丝袜三级在线播放 | 精品久久国产视频 | 麻豆精品久久 | 国产精品成人久久久久 |