怎么做網(wǎng)站像淘寶這樣的免費發(fā)布產(chǎn)品信息的網(wǎng)站
??????分布式架構:
根據(jù)業(yè)務功能對系統(tǒng)做拆分,每個業(yè)務功能模塊作為獨立項目開發(fā),稱為一個服務。
當垂直應用越來越多時,應用之間的交互不可避免,可將共用的基礎服務或核心模塊抽取出來作為獨立服務,逐漸形成穩(wěn)定的服務中心,使前端應用靈活快捷的面向多變的市場需求。
優(yōu)點:將基礎業(yè)務功能進行了抽取,系統(tǒng)間相互獨立調(diào)用,降低服務耦合,提高了代碼的復用率和開發(fā)效率。
缺點:系統(tǒng)間的耦合度變高了,調(diào)用關系錯綜復雜,難以維護。
分布式架構雖然降低了服務耦合,但是服務拆分時也有很多問題需要思考:
服務拆分的粒度如何界定?
服務之間如何調(diào)用?
服務的調(diào)用關系如何管理?
人們需要制定一套行之有效的標準來約束分布式架構。
- 分布式架構 簡單來說就是一組計算機組成一個系統(tǒng)的整體,一致對外提供服務
- 這組計算機內(nèi)的不同系統(tǒng),都可以互相通信
- 客戶端到服務端的一次請求響應,可能會歷經(jīng)多臺計算機。
RPC
RPC 協(xié)議是一種通過網(wǎng)絡從遠程計算機程序上請求服務,而不需要了解底層網(wǎng)絡技術的協(xié)議。RPC 協(xié)議假定某些傳輸協(xié)議的存在,如 TCP 或 UDP,為通信程序之間攜帶信息數(shù)據(jù)。在 OSI 網(wǎng)絡通信模型中,RPC 跨越了傳輸層和應用層。RPC 使得開發(fā)包括網(wǎng)絡分布式多程序在內(nèi)的應用程序更加容易。這個時期典型的 RPC 協(xié)議如 RMI、WebService 等(gRPC 和 Thrift 都屬于現(xiàn)代意義的 RPC)。
RPC 優(yōu)勢
- 交互方式簡單,客戶端/服務端間的交互協(xié)議容易統(tǒng)一;
- 跨語言異構支持;
- 不存在 ESB 中的單點故障可能。
RPC 不足
- 交互方式較為單一,不能進行復雜的多模塊之間的協(xié)議交互;
- 異常處理困難;
- 缺少服務治理能力;
- 采用私有協(xié)議,擴展性較差。