1.Soa : 面向服務的架構。SOA 是一種軟件架構模式,用於構建大型的企業應用程序,這些應用程序通常要求集成多種服務,而每種服務使用不同的平台和編程語言來構建,並通過通用的通信機制進行交互。
2.微服務架構:在微服務架構中,我們專注於將應用程序模塊化,將其分解成較小的獨立服務,這些服務可獨立於其他服務或整個應用程序本身而構建、部署、伸縮和維護。這些獨立服務被稱為微服務,因此這種架構被稱為微服務架構。
Soa和微服務的區別在哪?
3.SpringCloud,微服務架構之一。包括 服務發現(Eureka),斷路器(Hystrix),網關(Zuul),客戶端負載均衡(Ribbon)等。
4.微服務,進行服務拆分。有橫向拆分、縱向拆分。
橫向拆分。按照不同的業務域進行拆分,例如訂單、營銷、風控、積分資源等。形成獨立的業務領域微服務集群。
縱向拆分。把一個業務功能里的不同模塊或者組件進行拆分。例如把公共組件拆分成獨立的原子服務,下沉到底層,形成相對獨立的原子服務層。這樣一縱一橫,就可以實現業務的服務化拆分。
要做好微服務的分層:梳理和抽取核心應用、公共應用,作為獨立的服務下沉到核心和公共能力層,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。
服務拆分是越小越好嗎?微服務的大與小是相對的。比如在初期,我們把交易拆分為一個微服務,但是隨着業務量的增大,可能一個交易系統已經慢慢變得很大,並且並發流量也不小,為了支撐更多的交易量,我會把交易系統,拆分為訂單服務、投標服務、轉讓服務等。因此微服務的拆分力度需與具體業務相結合,總的原則是服務內部高內聚,服務之間低耦合。
Docker
1.Docker 是軟件容器化平台,它將微服務封裝進 Docker 容器,然后進行獨立的維護和部署。每個容器都將負責一個特定的業務功能。
2.Docker有着小巧、遷移部署快速、運行高效等特點。對比虛擬機,容器隔離的層次比較低,容器之間是共享同一套操作系統資源的。
3.Docker通過“艙壁模式”實現進程的隔離,使得容器與容器之間不會互相影響。