自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

唯品會微服務(wù)架構(gòu)演進之路

開發(fā) 架構(gòu)
頂層的聚合API服務(wù)面向不同的業(yè)務(wù)線,提供統(tǒng)一的接口,方便前端應(yīng)用調(diào)用。這種設(shè)計確保了用戶操作的統(tǒng)一性和一致性。

唯品會是業(yè)界在服務(wù)化走得比較徹底的一家公司,主要體現(xiàn)有兩方面,一是在徹底落地,二是純自研。從2015年開始建設(shè)至今,微服務(wù)基礎(chǔ)中臺已經(jīng)成為唯品會最為重要的技術(shù)基礎(chǔ)設(shè)施之一,在唯品會所有關(guān)鍵業(yè)務(wù)場景全面深入落地,并承載著幾乎全部用戶流量的請求處理和后端服務(wù)調(diào)用。在體系內(nèi)注冊的獨立服務(wù)數(shù)超過3000,獨立方法數(shù)萬級別,高峰時每小時承載著千億次服務(wù)調(diào)用,服務(wù)化網(wǎng)關(guān)作為流量入口承載著百萬級別QPS。

單體架構(gòu)

特點:

  • 采用LAMP技術(shù)棧。
  • 所有功能模塊都集成在一個應(yīng)用程序中。
  • 數(shù)據(jù)庫存在單點故障風(fēng)險。

問題:

  • 隨著業(yè)務(wù)增長,應(yīng)用變得復(fù)雜,維護困難。
  • 數(shù)據(jù)庫負(fù)載過高,擴展性差。

垂直應(yīng)用架構(gòu)

特點:

  • 將單體應(yīng)用拆分為多個獨立的垂直應(yīng)用。
  • 每個應(yīng)用有獨立的數(shù)據(jù)庫。

圖片圖片

垂直應(yīng)用架構(gòu)

特點:

  • 將單體應(yīng)用拆分為多個獨立的垂直應(yīng)用。
  • 每個應(yīng)用有獨立的數(shù)據(jù)庫。

問題:

  • 數(shù)據(jù)一致性難以保證。
  • 應(yīng)用之間的依賴關(guān)系復(fù)雜,導(dǎo)致維護成本高。

圖片圖片

微服務(wù)架構(gòu)

特點:

  • 將垂直應(yīng)用進一步拆分為更小的微服務(wù)。
  • 每個微服務(wù)獨立部署,獨立數(shù)據(jù)庫。
  • 通過API進行通信。

實踐:

  • 訂單服務(wù)化:將訂單處理拆分為多個獨立的微服務(wù),如查詢訂單、取消訂單、退款等。
  • 服務(wù)能力開放:通過API網(wǎng)關(guān)開放服務(wù)能力,構(gòu)建生態(tài)系統(tǒng)。

圖片圖片

為什么要這么分呢?

1.分層清晰:

架構(gòu)圖按照功能層次劃分,每一層都有明確的職責(zé)和邊界,確保了系統(tǒng)的模塊化   和可維護性。

2.服務(wù)獨立:

基礎(chǔ)服務(wù)、聚合服務(wù)和流程服務(wù)之間的依賴關(guān)系明確,每個服務(wù)都可以獨立開發(fā)、部署和擴展,提升了系統(tǒng)的靈活性和可靠性。

3.復(fù)用性高:

基礎(chǔ)服務(wù)提供了最基本的業(yè)務(wù)功能,聚合服務(wù)通過調(diào)用基礎(chǔ)服務(wù)實現(xiàn)更高層次的業(yè)務(wù)功能,提高了服務(wù)的復(fù)用性,減少了重復(fù)開發(fā)工作。

4.面向用戶的聚合API服務(wù):

頂層的聚合API服務(wù)面向不同的業(yè)務(wù)線,提供統(tǒng)一的接口,方便前端應(yīng)用調(diào)用。這種設(shè)計確保了用戶操作的統(tǒng)一性和一致性。

訂單服務(wù)化

圖片圖片

服務(wù)模塊職責(zé)明確,售前、售后、履約、定時任務(wù)和公共服務(wù)等各自獨立,避免了職責(zé)混亂,提高了系統(tǒng)的可維護性和擴展性。各個服務(wù)模塊可以獨立開發(fā)、部署和擴展,方便根據(jù)需求進行調(diào)整和優(yōu)化,提升系統(tǒng)的靈活性。定時任務(wù)和公共服務(wù)的獨立設(shè)計,使得系統(tǒng)在高并發(fā)和復(fù)雜場景下也能保持高可用性,減少了單點故障的風(fēng)險,通過分層設(shè)計,將復(fù)雜的業(yè)務(wù)邏輯分解為多個小的模塊,減少了單個模塊的負(fù)載,提高了整體系統(tǒng)的性能。各個模塊獨立管理,方便運維和監(jiān)控,可以快速定位和解決問題,提高系統(tǒng)的運維效率,通過將自營訂單服務(wù)和第三方訂單服務(wù)分開設(shè)計,支持多種業(yè)務(wù)模式,方便企業(yè)拓展不同的業(yè)務(wù)渠道。

訂單服務(wù)化和取消訂單相關(guān)服務(wù)交互

圖片圖片

服務(wù)能力開放共建生態(tài)

圖片圖片

微服務(wù)整體架構(gòu)

圖片圖片

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

圖片圖片

1. 業(yè)務(wù)驅(qū)動原則

  • 識別核心業(yè)務(wù)域,形成基礎(chǔ)業(yè)務(wù)能力:首先要識別和理解業(yè)務(wù)的核心部分,確保微服務(wù)的設(shè)計和實現(xiàn)是圍繞這些關(guān)鍵業(yè)務(wù)能力展開的。
  • 根據(jù)業(yè)務(wù)定位、范圍、邊界進行服務(wù)的劃分:根據(jù)業(yè)務(wù)需求和功能進行合理的服務(wù)劃分,確保每個微服務(wù)有明確的邊界和職責(zé)。
  • 首先關(guān)注服務(wù)的業(yè)務(wù)范圍,而不是服務(wù)的數(shù)量、粒度:重點在于服務(wù)的功能和作用,而不是追求將系統(tǒng)拆分為盡可能多的小服務(wù)。

2. 服務(wù)分層原則

  • 劃分基礎(chǔ)、聚合、流程服務(wù):將服務(wù)劃分為基礎(chǔ)服務(wù)(提供基本功能)、聚合服務(wù)(組合多個基礎(chǔ)服務(wù))、流程服務(wù)(實現(xiàn)復(fù)雜業(yè)務(wù)流程)。
  • 基礎(chǔ)服務(wù)貼近業(yè)務(wù)實體,提供業(yè)務(wù)的基礎(chǔ)能力:基礎(chǔ)服務(wù)直接支持業(yè)務(wù)實體,提供基本的業(yè)務(wù)操作和數(shù)據(jù)管理。
  • 聚合服務(wù)聚合基本業(yè)務(wù)場景,滿足高一層業(yè)務(wù)場景并可復(fù)用:聚合服務(wù)通過組合基礎(chǔ)服務(wù),實現(xiàn)更復(fù)雜的業(yè)務(wù)功能,支持更高層次的業(yè)務(wù)需求。
  • 流程服務(wù)面向復(fù)雜業(yè)務(wù)流程實現(xiàn),通過驅(qū)動多個聚合/基礎(chǔ)服務(wù)實現(xiàn)一個完整的業(yè)務(wù)流程:流程服務(wù)負(fù)責(zé)協(xié)調(diào)多個服務(wù),完成復(fù)雜的業(yè)務(wù)流程。

3. 服務(wù)松耦合原則

  • 服務(wù)職責(zé)單一,一個服務(wù)聚焦在特定業(yè)務(wù)的有限范圍內(nèi),有助于敏捷開發(fā)和獨立發(fā)布:每個服務(wù)應(yīng)該有明確的職責(zé)范圍,避免職責(zé)過于寬泛,以便獨立開發(fā)和部署。
  • 區(qū)分核心業(yè)務(wù)服務(wù)和非主核心業(yè)務(wù)服務(wù):核心業(yè)務(wù)服務(wù)是系統(tǒng)的關(guān)鍵部分,非主核心業(yè)務(wù)服務(wù)則是輔助性的功能。
  • 區(qū)分穩(wěn)定服務(wù)和易變服務(wù):將頻繁變化的服務(wù)和穩(wěn)定的服務(wù)分開管理,減少變化對系統(tǒng)整體的影響。
  • 每個服務(wù)只能訪問自己的數(shù)據(jù):服務(wù)之間通過API進行通信,避免直接訪問其他服務(wù)的數(shù)據(jù),增強系統(tǒng)的模塊化和獨立性。

4. 服務(wù)獨立部署原則

  • 服務(wù)獨立部署,能夠獨立發(fā)布或取消發(fā)布:每個服務(wù)都可以獨立部署,不依賴于其他服務(wù),發(fā)布和回滾都非常靈活。
  • 服務(wù)可水平擴展,并支持單獨擴展:服務(wù)能夠根據(jù)需求進行水平擴展,支持彈性伸縮。
  • 實現(xiàn)持續(xù)集成和自動發(fā)布:通過持續(xù)集成和自動化工具,實現(xiàn)服務(wù)的自動化構(gòu)建、測試和部署。
  • 實現(xiàn)服務(wù)的技術(shù)和業(yè)務(wù)監(jiān)控:對服務(wù)的運行狀態(tài)進行實時監(jiān)控,確保系統(tǒng)的穩(wěn)定性和性能。

5. 兼容性原則

  • 接口契約先行,提供最新在線服務(wù)文檔:服務(wù)之間的接口要有明確的契約,并提供最新的文檔,確保各服務(wù)之間的兼容性。
  • 服務(wù)版本管理,保證向前兼容:通過版本管理,確保新版本的服務(wù)能夠兼容舊版本,平滑過渡。
責(zé)任編輯:武曉燕 來源: 二進制跳動
相關(guān)推薦

2021-08-03 07:21:14

架構(gòu)微服務(wù)開發(fā)

2021-05-06 11:54:40

大數(shù)據(jù)Flink

2024-06-05 12:03:43

微服務(wù)架構(gòu)場景

2018-11-14 13:49:16

Apache Flin唯品會架構(gòu)

2023-12-30 08:27:13

2017-03-29 10:09:44

敏捷Scrum實踐

2017-03-21 10:24:40

敏捷Scrum實踐總結(jié)

2017-03-22 09:04:21

敏捷Scrum實踐

2023-10-11 07:29:21

2024-05-16 07:51:55

分布式系統(tǒng)架構(gòu)

2023-11-21 08:37:09

2020-08-05 08:23:19

架構(gòu)Java微服務(wù)

2016-11-10 19:10:09

唯品會雙11

2020-11-25 09:56:48

架構(gòu)運維技術(shù)

2019-12-31 10:33:48

架構(gòu)運維技術(shù)

2019-09-25 09:01:53

高并發(fā)架構(gòu)分布式

2019-12-17 11:18:37

高并發(fā)分布式架構(gòu)

2016-03-15 16:24:47

集群調(diào)度框架演進

2017-08-31 09:39:56

微服務(wù)架構(gòu)演進

2020-02-10 19:16:52

服務(wù)端高并發(fā)架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號