MVC RPC SOA 微服務架構之間的區別

2021-09-12 03:42:14 字數 1210 閱讀 9691

其實他們就是乙個從 mvc 到 微服務 的演變過程

1、mvc架構

其實 mvc 架構就是乙個單體的傳統架構。

代表技術:struts2、springmvc、spring、mybatis 等等。

2、rpc架構

官方的描述:

rpc(remote procedure call):遠端過程呼叫。他一種通過網路從遠端電腦程式上請求

服務,而不需要了解底層網路技術的協議。

代表技術:thrift、hessian 等等。

簡單理解:

如下圖所示:客戶端應用直接呼叫服務,服務跟服務之間都是隔離的,沒有任何關聯,也就是說他們之間是沒有通訊通道的,最終都要通過前端應用來訪問觸發;

3 soa  架構

官方解釋:

soa(service oriented architecture):面向服務架構

esb(enterparise servce bus):企業服務匯流排,服務中介。主要是提供了乙個服務於服務

之間的互動。

esb 包含的功能如:負載均衡,流量控制,加密處理,服務的監控,異常處理,監控

告急等等。

代表技術:mule(付費)、wso2(完全免費開源)

簡單理解:

如上面的rpc模式架構圖,一旦服務節點過多,就非常不利於管理這些服務,比如服務的註冊與發現、閘道器、容錯,分布式配置中心、服務跟蹤、資源耦合性高浪費、ip暴露等等,就會變得非常麻煩,這個時候就需要soa架構了。(或者微服務架構),

同rpc相比,soa最關鍵的一點是:所有服務都整合

到企業匯流排esb下,esb就可以對這些服務進行治理,使得服務與服務之間有了關聯,soa架構圖如下所示:

4 微服務架構

微服務其實就是企業匯流排(esb)的乙個輕量級服務治理替代方案。

代表技術:springcloud、dubbo 等等

漫談架構之微服務

目錄 服務的劃分是根據具體的業務來的,並且可以通過完全自動化的部署機制獨立部署。雖然大家都在談論微服務,但是什麼時候應該使用微服務,使用微服務需要注意哪些問題對於很多人來說仍然是乙個模糊的概念。本文將會和大家一起 一下微服務相關的一些問題。在最開始的程式體系中,通常都是單體服務。對於單體服務來說,所...

微服務與微服務架構

微服務 微服務強調的是服務的大小,它關注的是某乙個點,是具體解決某乙個問題 提供落地對應服務的乙個服務應用,狹意的看,可以看作eclipse裡面的乙個個微服務工程 或者module。例如 訂單服務 支付服務 微服務架構 馬丁.福勒 martin fowler 微服務架構介紹 微服務架構是 種架構模式...

微服務架構

一 先了解一下什麼是單體應用 就是乙個應用程式包含了所有模組功能,各模組同時部署。當然這種應用模式比較容易部署 測試,但隨著專案的加大,單體模式就會變得越來越臃腫,維護的成本逐漸變高。當乙個模組出錯,整個應用都會出現問題,擴充套件能力也會受到限制。二 什麼是微服務 是將整個應用程式分解為多個模組,各...