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

唯品會微服務架構演進之路

開發 架構
頂層的聚合API服務面向不同的業務線,提供統一的接口,方便前端應用調用。這種設計確保了用戶操作的統一性和一致性。

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

單體架構

特點:

  • 采用LAMP技術棧。
  • 所有功能模塊都集成在一個應用程序中。
  • 數據庫存在單點故障風險。

問題:

  • 隨著業務增長,應用變得復雜,維護困難。
  • 數據庫負載過高,擴展性差。

垂直應用架構

特點:

  • 將單體應用拆分為多個獨立的垂直應用。
  • 每個應用有獨立的數據庫。

圖片圖片

垂直應用架構

特點:

  • 將單體應用拆分為多個獨立的垂直應用。
  • 每個應用有獨立的數據庫。

問題:

  • 數據一致性難以保證。
  • 應用之間的依賴關系復雜,導致維護成本高。

圖片圖片

微服務架構

特點:

  • 將垂直應用進一步拆分為更小的微服務。
  • 每個微服務獨立部署,獨立數據庫。
  • 通過API進行通信。

實踐:

  • 訂單服務化:將訂單處理拆分為多個獨立的微服務,如查詢訂單、取消訂單、退款等。
  • 服務能力開放:通過API網關開放服務能力,構建生態系統。

圖片圖片

為什么要這么分呢?

1.分層清晰:

架構圖按照功能層次劃分,每一層都有明確的職責和邊界,確保了系統的模塊化   和可維護性。

2.服務獨立:

基礎服務、聚合服務和流程服務之間的依賴關系明確,每個服務都可以獨立開發、部署和擴展,提升了系統的靈活性和可靠性。

3.復用性高:

基礎服務提供了最基本的業務功能,聚合服務通過調用基礎服務實現更高層次的業務功能,提高了服務的復用性,減少了重復開發工作。

4.面向用戶的聚合API服務:

頂層的聚合API服務面向不同的業務線,提供統一的接口,方便前端應用調用。這種設計確保了用戶操作的統一性和一致性。

訂單服務化

圖片圖片

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

訂單服務化和取消訂單相關服務交互

圖片圖片

服務能力開放共建生態

圖片圖片

微服務整體架構

圖片圖片

微服務架構最佳實踐

圖片圖片

1. 業務驅動原則

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

2. 服務分層原則

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

3. 服務松耦合原則

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

4. 服務獨立部署原則

  • 服務獨立部署,能夠獨立發布或取消發布:每個服務都可以獨立部署,不依賴于其他服務,發布和回滾都非常靈活。
  • 服務可水平擴展,并支持單獨擴展:服務能夠根據需求進行水平擴展,支持彈性伸縮。
  • 實現持續集成和自動發布:通過持續集成和自動化工具,實現服務的自動化構建、測試和部署。
  • 實現服務的技術和業務監控:對服務的運行狀態進行實時監控,確保系統的穩定性和性能。

5. 兼容性原則

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

2021-08-03 07:21:14

架構微服務開發

2021-05-06 11:54:40

大數據Flink

2018-11-14 13:49:16

Apache Flin唯品會架構

2024-06-05 12:03:43

微服務架構場景

2017-03-21 10:24:40

敏捷Scrum實踐總結

2017-03-22 09:04:21

敏捷Scrum實踐

2017-03-29 10:09:44

敏捷Scrum實踐

2023-12-30 08:27:13

2024-05-16 07:51:55

分布式系統架構

2023-10-11 07:29:21

2023-11-21 08:37:09

2016-11-10 19:10:09

唯品會雙11

2020-08-05 08:23:19

架構Java微服務

2020-11-25 09:56:48

架構運維技術

2019-12-31 10:33:48

架構運維技術

2020-02-10 19:16:52

服務端高并發架構

2019-09-25 09:01:53

高并發架構分布式

2019-12-17 11:18:37

高并發分布式架構

2016-03-15 16:24:47

集群調度框架演進

2017-08-31 09:39:56

微服務架構演進
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品视频在线 | 欧美日产国产成人免费图片 | 日韩成人在线视频 | 欧美日韩精品一区二区三区视频 | 国产激情一区二区三区 | 综合婷婷 | 国产激情在线观看视频 | 91av在线免费播放 | 国产精久久久久久 | 国产精品欧美精品 | 亚洲高清免费观看 | 午夜影院操 | 国产精品一区二区三区免费观看 | 综合久久av | 亚洲永久入口 | 中文字幕一区二区视频 | 成人精品一区 | 久久久青草 | 久久爱综合 | 色婷婷亚洲一区二区三区 | 一呦二呦三呦国产精品 | 国产精品一卡 | 国产乱码精品1区2区3区 | 黄色网址在线免费观看 | 国产乱码精品一区二区三区忘忧草 | 黄 色 毛片免费 | 99久久精品免费看国产免费软件 | 亚洲综合字幕 | 中文字幕av网站 | 国产免费一二三区 | 欧美亚洲国产日韩 | 午夜国产一区 | 日本中文字幕视频 | 久久精品国产一区 | 992人人草| 久久久久久久久久久久久9999 | 一区二区三区av | 99热这里| 一区二区视频在线观看 | 欧美一区二区精品 | 免费黄色的网站 |