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

架構(gòu)本質(zhì)和微服務(wù),你了解嗎?

開發(fā) 架構(gòu)
服務(wù)是動(dòng)詞,對業(yè)務(wù)流程進(jìn)行封裝和抽象。封裝針對業(yè)務(wù)深度,如下單服務(wù)封裝下單一系列處理過程。抽象針對業(yè)務(wù)廣度,支持類似的業(yè)務(wù)流程,如普通商品/虛擬商品/團(tuán)購商品下單。

圖片圖片

好的架構(gòu)就像優(yōu)美的散文,行散神不散。

什么是服務(wù)

業(yè)務(wù)封裝

服務(wù)是動(dòng)詞,對業(yè)務(wù)流程進(jìn)行封裝和抽象。封裝針對業(yè)務(wù)深度,如下單服務(wù)封裝下單一系列處理過程。抽象針對業(yè)務(wù)廣度,支持類似的業(yè)務(wù)流程,如普通商品/虛擬商品/團(tuán)購商品下單。

組件復(fù)用

進(jìn)程外調(diào)用,接口無狀態(tài);

職責(zé)聚焦,邊界明確;

獨(dú)立開發(fā),獨(dú)立部署。

圖片圖片

Case分析Case分析

下單服務(wù)

粗粒度 SOA

提供端到端的功能,對應(yīng)用友好;

服務(wù)內(nèi)部實(shí)現(xiàn)復(fù)雜,訪問一系列庫表,對象之間有大量計(jì)算,耦合緊密;

如果需求有變化,整個(gè)大服務(wù)跟修改和重新部署。

下單邏輯聚合

微服務(wù)

  • 每個(gè)子服務(wù)高度聚焦,邊界清晰,獨(dú)立數(shù)據(jù)模型;
  • 需要上層應(yīng)用做服務(wù)聚合,一般簡單組裝即可;
  • 需求有變化,修改對應(yīng)子服務(wù)。因子服務(wù)提供功能完備,一般應(yīng)用方調(diào)整聚合邏輯即可(比如虛擬商品下單,可以跳過發(fā)票/發(fā)貨環(huán)節(jié))。

圖片圖片

圖片圖片

圖片圖片

圖片圖片

圖片圖片


落地建議

粗粒度SOA

  • 系統(tǒng)業(yè)務(wù)之間比較獨(dú)立,耦合度不高,面向具體業(yè)務(wù)需求,提供流程端到端處理,如OTA業(yè)務(wù)。
  • 業(yè)務(wù)流程比較固定,直接封裝,如銀行轉(zhuǎn)賬。

微服務(wù)

  • 業(yè)務(wù)流程環(huán)節(jié)多,易變,為每個(gè)處理節(jié)點(diǎn)構(gòu)造微服務(wù),允許調(diào)整,如電商下單。
  • 業(yè)務(wù)廣度和深度都非常復(fù)雜,互相關(guān)聯(lián),通過主數(shù)據(jù)服務(wù)打造微內(nèi)核,簡化依賴并允許上層自由組合,如B2C電商業(yè)務(wù)。

微服務(wù)改造步驟:

圖片圖片

1. 圈定訪問表

步驟:

  • 確定哪些表是某個(gè)服務(wù)所專用的,并且不允許其他服務(wù)訪問這些表。例如,訂單服務(wù)可能會(huì)訪問訂單主表和訂單明細(xì)表,但不允許其他服務(wù)訪問這些表,訂單服務(wù)也不會(huì)訪問其他服務(wù)的表。

目的:

  • 通過明確表的訪問邊界,減少服務(wù)之間的耦合,確保數(shù)據(jù)訪問的安全性和一致性。

2. 收集SQL

步驟:

  • 收集各個(gè)應(yīng)用對指定表的所有SQL訪問需求。
  • 如果某些SQL涉及到關(guān)聯(lián)其它表,則需要先將這些SQL進(jìn)行拆分,確保每個(gè)SQL只涉及到單個(gè)服務(wù)的表。

目的:

  • 了解所有的SQL訪問需求,為后續(xù)的優(yōu)化和設(shè)計(jì)提供依據(jù)。

3. 提煉SQL整體設(shè)計(jì)

步驟:

  • 對收集到的SQL訪問需求進(jìn)行分類和提煉。
  • 進(jìn)行總體設(shè)計(jì),如統(tǒng)一緩存、優(yōu)化查詢等,以提升系統(tǒng)性能。

目的:

  • 通過提煉和優(yōu)化,減少重復(fù)的SQL訪問,提升數(shù)據(jù)庫訪問的效率。

4. 開發(fā)接口

步驟:

  • 根據(jù)提煉后的SQL需求,開發(fā)相應(yīng)的服務(wù)接口。
  • 確保這些接口能夠滿足各個(gè)應(yīng)用的SQL訪問需求。

目的:

  • 提供統(tǒng)一的服務(wù)接口,簡化應(yīng)用的開發(fā)和維護(hù)。

5. 應(yīng)用接入

步驟:

  • 各個(gè)應(yīng)用逐步接入新的服務(wù)接口。
  • 可以邊開發(fā)邊上線和接入,確保平穩(wěn)過渡。

目的:

  • 通過逐步接入,減少對現(xiàn)有系統(tǒng)的沖擊,確保平穩(wěn)過渡到新的微服務(wù)架構(gòu)。

6. 獨(dú)立遷庫

步驟:

  • 在條件允許的情況下,可以考慮將表的schema進(jìn)行修改,并將數(shù)據(jù)遷移到獨(dú)立的數(shù)據(jù)庫。
  • 徹底與現(xiàn)有的庫表分開,確保新的微服務(wù)架構(gòu)的獨(dú)立性。

目的:

  • 通過獨(dú)立遷庫,進(jìn)一步減少服務(wù)之間的耦合,提高系統(tǒng)的可維護(hù)性和擴(kuò)展性。

B2C電商系統(tǒng)架構(gòu):


圖片圖片


業(yè)務(wù)應(yīng)?層

  • 包括不同業(yè)務(wù)線的應(yīng)用,如自營、商城、無線、商家、供應(yīng)商和第三方。這些業(yè)務(wù)應(yīng)用通過業(yè)務(wù)接口調(diào)用底層的組件和服務(wù),實(shí)現(xiàn)具體的業(yè)務(wù)功能。
  • 具體的業(yè)務(wù)模塊如Mobile(移動(dòng)端)、CMS(內(nèi)容管理系統(tǒng))、分類、詳情頁、廣告、搜索、購物車、結(jié)算、訂單管理、物料信息、賬戶管理、CRM(客戶關(guān)系管理)等。

組件化/服務(wù)層

  • 這一層主要負(fù)責(zé)具體的業(yè)務(wù)邏輯和功能實(shí)現(xiàn),通過組件和服務(wù)提供給上層業(yè)務(wù)應(yīng)用調(diào)用。
  • 主要包含應(yīng)用服務(wù)和基礎(chǔ)服務(wù):

應(yīng)用服務(wù)

  • 下單(OMS、Shopping):負(fù)責(zé)處理訂單管理和購物相關(guān)的業(yè)務(wù)邏輯。
  • 促銷、個(gè)人中心、精準(zhǔn)化、評論、PMS(商品管理系統(tǒng)):處理促銷活動(dòng)、用戶個(gè)人中心、精準(zhǔn)營銷、用戶評論和商品管理相關(guān)的業(yè)務(wù)。
  • 客?服務(wù)(Invoice、GRS(退貨管理系統(tǒng))):處理客戶服務(wù)和發(fā)票、退貨相關(guān)的業(yè)務(wù)。
  • YCM(優(yōu)惠券管理)、PIS(庫存管理系統(tǒng))、團(tuán)購、Coupon(優(yōu)惠券):處理優(yōu)惠券、庫存管理、團(tuán)購和其他促銷活動(dòng)。
  • Search、AD(廣告)、Store、特賣、Finance(財(cái)務(wù))、Payment(支付)、更多服務(wù):處理搜索、廣告、商店、特賣、財(cái)務(wù)、支付等其他服務(wù)。

基礎(chǔ)服務(wù)

  • 產(chǎn)品服務(wù):處理產(chǎn)品信息的管理。
  • 庫存服務(wù):管理庫存相關(guān)的數(shù)據(jù)和操作。
  • 價(jià)格服務(wù):管理商品價(jià)格和定價(jià)策略。
  • 用戶服務(wù):管理用戶信息和用戶操作。
  • 訂單服務(wù):管理訂單相關(guān)的數(shù)據(jù)和操作。
  • 支付服務(wù):處理支付相關(guān)的操作和數(shù)據(jù)。

數(shù)據(jù)層

  • 這一層負(fù)責(zé)數(shù)據(jù)的存儲和管理,包含了不同類型的數(shù)據(jù)倉庫:

Product:產(chǎn)品數(shù)據(jù)。

User:用戶數(shù)據(jù)。

Stock:庫存數(shù)據(jù)。

Order:訂單數(shù)據(jù)。

Wireless:無線相關(guān)數(shù)據(jù)。

SBY:可能是某個(gè)特定業(yè)務(wù)線的數(shù)據(jù)(需要具體上下文來確認(rèn))。

BI:商業(yè)智能相關(guān)的數(shù)據(jù)。

大數(shù)據(jù):大數(shù)據(jù)平臺,用于存儲和分析大量業(yè)務(wù)數(shù)據(jù)。

緩存平臺

  • 提供了系統(tǒng)的緩存功能,以提升數(shù)據(jù)訪問的速度和系統(tǒng)的響應(yīng)時(shí)間。

這個(gè)架構(gòu)展示了一個(gè)分層清晰、職責(zé)明確的電商平臺架構(gòu),通過不同層次的分工和協(xié)作,實(shí)現(xiàn)了復(fù)雜業(yè)務(wù)需求的處理。每一層都有特定的職責(zé),從數(shù)據(jù)存儲、基礎(chǔ)服務(wù),到業(yè)務(wù)邏輯和具體應(yīng)用,實(shí)現(xiàn)了高效的業(yè)務(wù)處理和良好的擴(kuò)展性。

關(guān)鍵點(diǎn):

  • 分層設(shè)計(jì):每一層都有明確的職責(zé),確保了系統(tǒng)的模塊化和可維護(hù)性。
  • 組件化服務(wù):通過組件化和服務(wù)化的設(shè)計(jì),提高了系統(tǒng)的靈活性和可擴(kuò)展性。
  • 數(shù)據(jù)管理:數(shù)據(jù)層管理著不同類型的業(yè)務(wù)數(shù)據(jù),通過統(tǒng)一的數(shù)據(jù)平臺支持上層業(yè)務(wù)應(yīng)用。
  • 緩存機(jī)制:通過緩存平臺提升了系統(tǒng)的性能和響應(yīng)速度。
責(zé)任編輯:武曉燕 來源: 二進(jìn)制跳動(dòng)
相關(guān)推薦

2016-09-26 14:45:46

微服務(wù)

2024-05-10 08:46:13

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

2021-10-18 08:52:42

技術(shù)

2022-04-28 08:12:29

函數(shù)調(diào)用進(jìn)程切換代碼

2018-10-19 10:49:53

云原生架構(gòu)無服務(wù)器

2018-07-30 08:23:30

微服務(wù)架構(gòu)設(shè)計(jì)

2014-02-10 10:13:43

2020-02-08 16:46:29

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

2020-01-09 15:30:32

微服務(wù)架構(gòu)互聯(lián)網(wǎng)

2023-07-10 09:27:36

分層架構(gòu)服務(wù)架構(gòu)

2023-01-07 10:17:06

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

2023-08-28 16:12:36

架構(gòu)微服務(wù)數(shù)字化

2022-03-14 07:53:27

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

2022-11-09 16:23:17

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

2023-07-28 09:23:24

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

2024-05-17 16:18:45

微服務(wù)灰度發(fā)布金絲雀發(fā)布

2018-10-28 18:09:22

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

2024-01-19 11:57:42

2024-09-23 17:05:44

2020-10-29 08:55:04

微服務(wù)
點(diǎn)贊
收藏

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