日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

微服務(wù)架構(gòu)最佳實踐-方法篇

來源: 責(zé)編: 時間:2024-05-16 17:40:55 178觀看
導(dǎo)讀服務(wù)粒度當(dāng)團(tuán)隊實施微服務(wù)架構(gòu)時,可以根據(jù)團(tuán)隊規(guī)模來劃分微服務(wù)數(shù)量。一個團(tuán)隊約有 6 個人時,可以劃分為 2 個微服務(wù)。隨著業(yè)務(wù)的擴(kuò)展和團(tuán)隊規(guī)模的增加(例如,擴(kuò)展到 12 個人),可以將已有的 2 個微服務(wù)進(jìn)一步細(xì)分為 4 個微服

服務(wù)粒度

當(dāng)團(tuán)隊實施微服務(wù)架構(gòu)時,可以根據(jù)團(tuán)隊規(guī)模來劃分微服務(wù)數(shù)量。一個團(tuán)隊約有 6 個人時,可以劃分為 2 個微服務(wù)。隨著業(yè)務(wù)的擴(kuò)展和團(tuán)隊規(guī)模的增加(例如,擴(kuò)展到 12 個人),可以將已有的 2 個微服務(wù)進(jìn)一步細(xì)分為 4 個微服務(wù)。這種基于團(tuán)隊規(guī)模的微服務(wù)拆分方法,有助于管理復(fù)雜度,保持開發(fā)效率。tqG28資訊網(wǎng)——每日最新資訊28at.com

為什么是 3 個人,不是 4 個或者其他數(shù)量呢?tqG28資訊網(wǎng)——每日最新資訊28at.com

首先,3 個人負(fù)責(zé)一個系統(tǒng),每個人都能夠全面理解整個系統(tǒng),同時又能夠進(jìn)行分工。如果是 2 個人,系統(tǒng)的復(fù)雜度不夠,開發(fā)人員可能會感到技術(shù)上的挑戰(zhàn)不夠;如果是 4 個人或者更多,系統(tǒng)復(fù)雜度可能會導(dǎo)致開發(fā)人員無法全面了解系統(tǒng)的細(xì)節(jié)。tqG28資訊網(wǎng)——每日最新資訊28at.com

其次,3 個人形成一個穩(wěn)定的備份,即使其中一個人休假或者調(diào)動到其他系統(tǒng),剩余的 2 個人也可以支撐工作。如果是 2 個人,剩余的 1 個人可能承擔(dān)過大壓力;如果是 1 個人,團(tuán)隊就存在單點(diǎn)故障。tqG28資訊網(wǎng)——每日最新資訊28at.com

最后,3 個人的技術(shù)小組可以形成有效的討論,快速達(dá)成一致意見。如果是 2 個人,可能會出現(xiàn)意見不一致的情況;如果是 1 個人,可能會陷入思維盲區(qū);如果是 4 個人或者更多,可能會出現(xiàn)參與度不足的情況。tqG28資訊網(wǎng)——每日最新資訊28at.com

“三個火槍手”的原則主要適用于微服務(wù)設(shè)計和開發(fā)階段。當(dāng)微服務(wù)經(jīng)過一段時間發(fā)展后,進(jìn)入維護(hù)期,無需太多開發(fā)工作時,平均每個微服務(wù)維護(hù) 1 個人或者幾個微服務(wù)都是可以接受的。然而,為了確保人員備份,最好安排每個微服務(wù)由 2 個人維護(hù),每個人可以維護(hù)多個微服務(wù)。tqG28資訊網(wǎng)——每日最新資訊28at.com

拆分方法

基于業(yè)務(wù)邏輯拆分:這種方式是將系統(tǒng)中的業(yè)務(wù)模塊按照職責(zé)范圍識別出來,每個單獨(dú)的業(yè)務(wù)模塊拆分為一個獨(dú)立的服務(wù)。但在實踐過程中最常見的一個問題就是團(tuán)隊成員對于“職責(zé)范圍”的理解差異很大,經(jīng)常會出現(xiàn)爭論,難以達(dá)成一致意見。tqG28資訊網(wǎng)——每日最新資訊28at.com

基于可擴(kuò)展拆分:將系統(tǒng)中的業(yè)務(wù)模塊按照穩(wěn)定性排序,將已經(jīng)成熟和改動不大的服務(wù)拆分為穩(wěn)定服務(wù),將經(jīng)常變化和迭代的服務(wù)拆分為變動服務(wù)。穩(wěn)定的服務(wù)粒度可以粗一些,即使邏輯上沒有強(qiáng)關(guān)聯(lián)的服務(wù),也可以放在同一個子系統(tǒng)中。tqG28資訊網(wǎng)——每日最新資訊28at.com

基于可靠性拆分:將系統(tǒng)中的業(yè)務(wù)模塊按照優(yōu)先級排序,將可靠性要求高的核心服務(wù)和可靠性要求低的非核心服務(wù)拆分開來,然后重點(diǎn)保證核心服務(wù)的高可用。具體拆分的時候,核心服務(wù)可以是一個也可以是多個,只要最終的服務(wù)數(shù)量滿足“三個火槍手”的原則就可以。tqG28資訊網(wǎng)——每日最新資訊28at.com

基于性能拆分:基于性能瓶頸將系統(tǒng)中的業(yè)務(wù)模塊進(jìn)行拆分,將性能要求高或者性能壓力大的模塊拆分為獨(dú)立的服務(wù)。例如,電商系統(tǒng)中,搶購功能可能會導(dǎo)致性能瓶頸,可以將該功能獨(dú)立為一個服務(wù)。tqG28資訊網(wǎng)——每日最新資訊28at.com

基礎(chǔ)設(shè)施

大多數(shù)人關(guān)注微服務(wù)的“small”和“l(fā)ightweight”特性,但實際上微服務(wù)的成敗更多取決于被忽視的“automated”(自動化)方面。為什么這樣說呢?因為即使服務(wù)粒度劃分不合理,當(dāng)團(tuán)隊遇到問題時,很自然地會考慮重新拆分或合并服務(wù);但如果與“automated”相關(guān)的基礎(chǔ)設(shè)施不健全,微服務(wù)就會成為一個坑,使得研發(fā)、測試和運(yùn)維陷入各種微服務(wù)陷阱中。tqG28資訊網(wǎng)——每日最新資訊28at.com

微服務(wù)基礎(chǔ)設(shè)施如下圖所示:tqG28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片tqG28資訊網(wǎng)——每日最新資訊28at.com


tqG28資訊網(wǎng)——每日最新資訊28at.com

看到上面這張圖,相信很多人都會倒吸一口涼氣,說好的微服務(wù)的“輕量級”呢?都這么多基礎(chǔ)設(shè)施還好意思說自己是“輕量級”,感覺比 ESB 還要復(fù)雜啊?tqG28資訊網(wǎng)——每日最新資訊28at.com

確實如此,微服務(wù)并不是很多人認(rèn)為的那樣簡單和輕量級。要成功實施微服務(wù),這些基礎(chǔ)設(shè)施是必不可少的,否則微服務(wù)可能會成為一個難以擺脫的泥潭,使業(yè)務(wù)和團(tuán)隊陷入困境。因此,可以說微服務(wù)并沒有減少復(fù)雜性,而是將復(fù)雜性從ESB(企業(yè)服務(wù)總線)轉(zhuǎn)移到了基礎(chǔ)設(shè)施上。你可以看到,“服務(wù)發(fā)現(xiàn)”、“服務(wù)路由”等實際上都是ESB的功能,只是在微服務(wù)中被剝離出來,成為了獨(dú)立的基礎(chǔ)系統(tǒng)。tqG28資訊網(wǎng)——每日最新資訊28at.com

雖然建設(shè)完善的微服務(wù)基礎(chǔ)設(shè)施是一項龐大的工程,但不必因為團(tuán)隊規(guī)模較小或公司規(guī)模不大而放棄微服務(wù)的實施。首先,開源社區(qū)已經(jīng)提供了一些成熟的微服務(wù)基礎(chǔ)設(shè)施解決方案,比如知名的 Spring Cloud 項目,包含了服務(wù)發(fā)現(xiàn)、服務(wù)路由、網(wǎng)關(guān)、配置中心等功能。其次,如果微服務(wù)的數(shù)量不是很多,也并非每個基礎(chǔ)設(shè)施都是必需的。因此,我建議按照以下優(yōu)先級來搭建基礎(chǔ)設(shè)施:tqG28資訊網(wǎng)——每日最新資訊28at.com

1. 服務(wù)發(fā)現(xiàn)、服務(wù)路由、服務(wù)容錯:這是最基本的微服務(wù)基礎(chǔ)設(shè)施。tqG28資訊網(wǎng)——每日最新資訊28at.com

2. 接口框架、API 網(wǎng)關(guān):主要是為了提升開發(fā)效率,接口框架是提升內(nèi)部服務(wù)的開發(fā)效率,API 網(wǎng)關(guān)是為了提升與外部服務(wù)對接的效率。tqG28資訊網(wǎng)——每日最新資訊28at.com

3. 自動化部署、自動化測試、配置中心:主要是為了提升測試和運(yùn)維效率。tqG28資訊網(wǎng)——每日最新資訊28at.com

4. 服務(wù)監(jiān)控、服務(wù)跟蹤、服務(wù)安全:主要是為了進(jìn)一步提升運(yùn)維效率。tqG28資訊網(wǎng)——每日最新資訊28at.com

以上 3 和 4 兩類基礎(chǔ)設(shè)施,其重要性會隨著微服務(wù)節(jié)點(diǎn)數(shù)量增加而越來越重要,但在微服務(wù)節(jié)點(diǎn)數(shù)量較少的時候,可以通過人工的方式支撐,雖然效率不高,但也基本能夠頂住。tqG28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-88711-0.html微服務(wù)架構(gòu)最佳實踐-方法篇

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: C# 中的委托與事件

下一篇: WinForm 跨線程 UI 操作常用控件類大全

標(biāo)簽:
  • 熱門焦點(diǎn)
  • Flowable工作流引擎的科普與實踐

    一.引言當(dāng)我們在日常工作和業(yè)務(wù)中需要進(jìn)行各種審批流程時,可能會面臨一系列技術(shù)和業(yè)務(wù)上的挑戰(zhàn)。手動處理這些審批流程可能會導(dǎo)致開發(fā)成本的增加以及業(yè)務(wù)復(fù)雜度的上升。在這
  • 之家push系統(tǒng)迭代之路

    前言在這個信息爆炸的互聯(lián)網(wǎng)時代,能夠及時準(zhǔn)確獲取信息是當(dāng)今社會要解決的關(guān)鍵問題之一。隨著之家用戶體量和內(nèi)容規(guī)模的不斷增大,傳統(tǒng)的靠"主動拉"獲取信息的方式已不能滿足用
  • 使用LLM插件從命令行訪問Llama 2

    最近的一個大新聞是Meta AI推出了新的開源授權(quán)的大型語言模型Llama 2。這是一項非常重要的進(jìn)展:Llama 2可免費(fèi)用于研究和商業(yè)用途。(幾小時前,swyy發(fā)現(xiàn)它已從LLaMA 2更名為Lla
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標(biāo)系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的方法。可以用來發(fā)現(xiàn)應(yīng)用程序、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議等中的漏洞或
  • WebRTC.Net庫開發(fā)進(jìn)階,教你實現(xiàn)屏幕共享和多路復(fù)用!

    WebRTC.Net庫:讓你的應(yīng)用更親民友好,實現(xiàn)視頻通話無痛接入! 除了基本用法外,還有一些進(jìn)階用法可以更好地利用該庫。自定義 STUN/TURN 服務(wù)器配置WebRTC.Net 默認(rèn)使用 Google 的
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經(jīng)作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據(jù)官方此前宣布,三星將于7月26日在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • 英特爾Xe-HP項目終止,將專注Xe-HPC/HPG系列顯卡

    據(jù)10 月 31 日消息報道,英特爾高級副總裁兼加速計算系統(tǒng)和圖形事業(yè)部總經(jīng)理 表示,Xe-HP“ Arctic Sound” 系列服務(wù)器 GPU 已經(jīng)應(yīng)用于 oneAPI devcloud 云服
  • DRAM存儲器10月價格下跌,NAND閃存本月價格與上月持平

    10月30日,據(jù)韓國媒體消息,自今年年初以來一直在上漲的 DRAM 存儲器的交易價格僅在本月就下跌了近 10%,此次是全年首次降價,而NAND 閃存本月價格與上月持平。市
Top 主站蜘蛛池模板: 淳化县| 屏边| 南召县| 和顺县| 尉氏县| 高雄县| 锡林浩特市| 巴楚县| 大化| 宜宾县| 永修县| 洪雅县| 高邮市| 凤冈县| 清河县| 遵义县| 甘孜| 黔东| 多伦县| 依安县| 韶关市| 台江县| 镇远县| 富平县| 腾冲县| 剑河县| 偃师市| 肇源县| 安塞县| 大新县| 漳浦县| 闸北区| 平谷区| 子长县| 苏州市| 岑巩县| 和龙市| 洪洞县| 南雄市| 华阴市| 冀州市|