大多數公司不需要Netflix/Uber風格的微服務? - copyconstruct
微服務很難,構建可靠且可測試的微服務比大多數人認為的要難得多,有效地“測試”微服務需要大量的工具和遠見。-許多(或大多數)公司組織都不需要Netflix / Uber風格的微服務。
宏服務Macroservices?
- -並非整體/單體monolith
- -有不超過20個開發人員/ 3個團隊從事該服務(5個披薩規則?)
- -可能需要或不需要Monorepo。服務/儲存庫越少,依賴關係管理就變得容易得多(儘管仍然很簡單)
- -更好的可觀察性,除錯
網友討論:
去年,我們就Micro與Macro進行了廣泛的討論。儘管“千篇一律”的方法行不通,但關鍵是要了解並預見什麼對業務至關重要。
需要考慮的幾件事:
- -垂直與水平縮放
- -技術債務的嚴重程度
- -多少服務
- -API架構/基礎設施/效能
- -服務的使用者/客戶使用情況
更大且可擴充套件(宏)的服務比小型和複雜的服務(微型)更好。
我認為人們仍糾結於部署模型的關注點分離和解耦。用micro / macro字首的服務也無濟於事。我們需要考慮有界的上下文,而不是大小。
此外,透過網路進行越來越多的分散式分發意味著您要冒資料完整性的風險。似乎範例已在轉向事件溯源,事件溯源eventsourcing建立在資料庫如何處理資料完整性的基礎上。
我同意。我還注意到,當人們談論ms時,他們首先想到的是可伸縮性。但是,我傾向於將ms視為擴充套件團隊而不是系統的一種方法。例如,我可以提到兩個披薩亞馬遜的規則。
大多數認為自己需要微服務的人都希望兩件事中的一項:
- 能夠輕鬆地水平擴充套件
- 圍繞功能邊界分離開發團隊。
這些都不需要微服務解決方案。是那些做起微服務很酷的開發者很危險。
微服務並不難,只需遵循12個要素,我們就可以完成並部署到dev,qa和prod docker和k8s。測試就可進行。
建議:當一個團隊維護許多獨立服務時,這是有問題的。當許多獨立團隊維護一項服務時,那也是錯誤的。因此,當這兩中情況(不可避免地)成為現實時,需要懷疑:我們正確地劃分了我們的服務嗎?
微服務並非難事,分散式應用程式並非難事。我要說的是,如果您需要跟蹤,那麼您將遭受分散式系統工程的困擾,而不是微服務的痛苦。
我的想法:整體→SOA→微服務。根據域和最佳化需求進行分解,並使事情變得更細化。
這全都與粒度有關...如果我們確定正確的粒度,則Micro或macro都是無關緊要的。服務發現,斷路器或閘道器服務,特定於服務的資料庫隔離等都是必不可少的。
分散式整體是等待發生的FLP故障。
微服務最難的不是技術。這是因為他們需要實際的開發人員自治權才能做好,而大多陣列織只是不想真正做到這一點。
真正的自治權要求每個團隊複製很多東西:包括模式,商品元件,基礎架構和工具。這並不便宜,並且使團隊脫離了核心業務需求。透過dedup可節省資金,但會消除自主權並導致依賴。
按照這個定義,宏服務難道不是一堆透過共享程式碼在相對寬泛的範圍內耦合的微服務嗎?
相關文章
- 為什麼大多數公司最好避免使用微服務? -GreekDataGuy微服務
- 你不需要微服務微服務
- Go並不需要Java風格的GCGoJavaGC
- SerCe的部落格:您不需要任何服務網格
- 微服務架構 | 3.1 Netflix Eureka 註冊中心微服務架構
- 微服務架構 | 5.1 使用 Netflix Hystrix 斷路器微服務架構
- 【微服務技術專題】Netflix動態化配置服務-微服務配置元件變色龍Archaius微服務元件AI
- spring cloud微服務分散式雲架構-Spring Cloud NetflixSpringCloud微服務分散式架構
- go-kit 微服務 限流 (uber/ratelimit 和 golang/rate 實現)微服務MITGolang
- Netflix開源Mantis:基於微服務的運維監控平臺微服務運維
- 別跟風了!你的公司根本不需要資料科學家資料科學
- Netflix Cosmos平臺:微服務+工作流+無伺服器微服務伺服器
- 微服務是否真的需要服務網格?微服務
- 《沉默的大多數》總結
- eMarketer:大多數公司由於成本高無法滿足CCPA的規定
- 微服務2.0時代:Spring Cloud Netflix與 Kubernetes&Istio比較微服務SpringCloud
- 奈飛架構Netflix從單體到微服務演變圖架構微服務
- 優步公司的Go語言編寫風格指南Go
- 【連載】微服務網格Istio(一)微服務
- 入職的新公司是微服務專案,慌了!微服務
- 服務網格:微服務進入2.0時代微服務
- 每日安全資訊:大多數黑客僱傭服務都是假的黑客
- 為微服務構建服務網格的Istio自身卻走向微服務的反面單體架構 – Christian Posta微服務架構
- Istio旨在成為容器化微服務的網格管道微服務
- GraphQL在微服務查詢中實現聚合器與搜尋索引的作用 -Netflix TechBlog微服務索引
- 微服務架構下的服務呼叫與鑑權——某保險公司微服務平臺實施案例分享微服務架構
- RESTFUL風格的URL請求及引數接收REST
- 第三代微服務架構:基於 Go 的部落格微服務實戰案例,支援分散式事務微服務架構Go分散式
- 小公司需要使用微服務架構嗎?微服務架構
- SpringBoot、Kubernetes和Istio微服務網格演示原始碼Spring Boot微服務原始碼
- ServiceMesh 1:大火的雲原生微服務網格,究竟好在哪裡?微服務
- 淺風的部落格
- 大多數教程中都找不到的JavaScript技巧 - markodenicJavaScript
- 軟體架構風格——閉環架構風格(過程風格)架構
- 微服務思考(01):什麼是微服務?微服務的優勢和劣勢微服務
- Service Mesh大咖訪談:使用服務網格的微服務通訊與治理微服務
- Uber在微服務架構中如何利用多租戶玩轉生產現場測試?微服務架構
- 傳統微服務框架如何無縫過渡到服務網格 ASM微服務框架ASM