莎士比亞曾經說過“to be or not to be”,在當今這個企業級應用盛行的時代,我們當然選擇toB。
既然選擇了toB,那麼toB的項目都有什麼特點呢?接下來咱們看一下企業級應用的特點:
(1)資料持久化
(2)海量資料的存儲
(3)資料的并發通路
(4)大量的使用者圖形界面
(5)分級體系複雜、需要和其它應用內建
(6)資料概念不統一結構複雜
(7)複雜的業務邏輯

toB的産品面向的是企業,他主要圍繞着的是企業的業務功能來進行的,衆所周知,一個企業的流程是非常繁瑣的,通常也會造成開發和産品之間的一些沖突。
針對這些沖突,這些錯綜複雜的業務關系,架構方面改怎麼來選擇呢?
傳統的行業用的是SOA架構,當今主流的則是微服務,對于這兩種架構,我們該如何抉擇呢?
下面看一下這兩個架構的對比:
概念
SOA:面向服務的軟體架構(Service Oriented Architecture),是一種計算機軟體的設計模式,主要應用于不通應用元件中通過某種協定來互操作
微服務架構:其實和 SOA 架構類似,微服務是在 SOA 上做的升華,微服務架構強調的一個重點是“業務需要徹底的元件化和服務化”,原有的單個業務系統會拆分為多個可以獨立開發、設計、運作的小應用。這些小應用之間通過服務完成互動和內建。
微服務架構 = 80%的SOA服務架構思想 + 100%的元件化架構思想 + 80%的領域模組化思想
特點
SOA
1、面向服務的分布式計算。
2、服務間松散耦合。
3、支援服務的組裝。
4、服務注冊和自動發現。
5、以服務契約方式定義服務互動方式。
微服務
1、分布式服務組成的系統。
2、按照業務而不是技術來劃分組織。
3、做有生命的産品而不是項目。
4、智能化服務端點與傻瓜式服務編排。
5、自動化運維。
6、系統容錯。
7、服務快速化
“中心化”和“去中心化”
中心化:SOA主要以ESB為服務主線,每次請求都要通過ESB來進行路由,強調“中心化”服務架構,進行多次網絡會話,容易造成“雪崩”效應。
去中心化:微服務主要在服務中互動,強調“去中心化”服務架構,網絡開銷少了一半,會避免“雪崩”效應
主要差別
現在市面上也推出了很多微服務的架構,Spring全家桶、Dubbox、Thrift等等,微服務其實就是SOA的升華,一個軟體的更新!
雲頂雲(yundingyun.com)是國内首批專注于雲計算與大資料服務的提供商,緻力于“讓雲計算更簡單”。做為阿裡雲五星授權服務中心,雲頂雲緻力于為企業和政府提供方案咨詢、架構設計、部署實施、系統定制、運維托管、技術教育訓練等全方位“4S”級公有雲、私有雲定制化服務。