日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SOA和微服务之间的区别(应用和数据的垂直拆分水平拆分)

發布時間:2025/3/19 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SOA和微服务之间的区别(应用和数据的垂直拆分水平拆分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

引出問題

重要概念

垂直拆分

水平拆分

同步分層架構

異步分層架構

SOA是什么?

微服務是什么?

數據庫拆分

寫在最后


引出問題

互聯網發展迅猛,互聯網系統也由原來的單機服務逐步的演化為分布式服務,同樣,服務架構也由原來的單體架構逐步演化為如今的分布式架構,由此衍生出許多架構類型。今天就談談微服務架構和傳統的SOA架構到底有什么區別。

近年來微服務火遍中小型企業,似乎看起來SOA已經成為將要過時的技術,事實是真的這樣子嗎?

重要概念

當單體架構滿足不了日益增長的客戶需求時,就要將數據庫和應用程序等拆分開,也就是將一個應用程序部署到多臺服務器上。通常服務和數據的拆分,分成垂直拆分水平拆分

同步分層的架構和異步分層架構只差了一個消息隊列(MQ),異步操作雖然可以增強用戶的體驗,但是其弱一致性會帶來許多數據不一致的問題(這個問題在后續博文中會做出解釋和解決方案,關注我喲~)。

垂直拆分

對業務的不同進行分類,不同的業務劃分到不同的應用和數據庫中。這種拆分往往是根據系統的改造,將原來的功能模塊按照更加細粒度的拆分成多個弱耦合的服務。

水平拆分

數據庫層面的水平拆分,就是將一個數據表中的數據按照某種規則分化到不同的數據庫中,也就是分庫分表

應用層面的水平拆分,最經典的就是將整個應用分層。數據庫訪問層和業務邏輯層拆分、網關層和業務邏輯層拆分等等。

同步分層架構

異步分層架構

SOA是什么?

(鋪墊了這么多,終于到正題了)

面向服務的架構(SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)進行拆分,并通過這些服務之間定義良好的接口和協議聯系起來。(這是百度的解釋)

SOA其實是按照業務進行垂直方向的拆分的,每個服務其實還是單機,對ESB依賴嚴重。

微服務是什么?

微服務的終極目的就是為了項目的快速迭代持續交付

微服務架構既進行垂直拆分,又進行了水平拆分

數據庫拆分

數據庫拆分也分為垂直拆分和水平拆分。

垂直拆分比較容易理解,就是按照業務進行拆分;水平拆分就比較難了,其實一般的能不用水平拆分就不用水平拆分。

這里我推薦一個專門用來做分布式的數據庫,TiDB。(在后續博文中會介紹它的使用和應用場景,關注我喲~)

寫在最后

寫文章目的就是交流分享,如有問題還請指正,本人郵箱784482906@qq.com

總結

以上是生活随笔為你收集整理的SOA和微服务之间的区别(应用和数据的垂直拆分水平拆分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。