springcloud分布式架構的理解


一、什么是微服務架構

  微服務是一種架構模式或者一種架構風格,提倡將單一應用程序划分成一組小的服務獨立部署,服務之間相互配合、相互協調,每個服務運行於自己的進程中。服務與服務間采用輕量級通訊,如HTTP的RESTful API等避免統一的、集中式的服務管理機制

Struts2安全問題被踢出

微服務:

強調的是服務的大小,關注的是某一個點,是具體解決一個問題/提供落地對應服務的一個服務應用。

微服務架構:

eclipse工具里面用maven開發的分層架構,它具體是使用

springboot開發的一個小模塊,專業的事情交給專業的模塊來做,一個模塊就做這一件事,強調的是一個個的個體,每個個體完成一個具體的任務或者功能

(舉例醫院(微服務架構),有各個科室(微服務),所有科室構成了醫院這個項目)

(中華民族是一個微服務架構,微服務就是中國的56個民族,對應56個微服務)

二、微服務的優缺點

優點

每個服務足夠內聚,足夠小,比較容易聚焦

開發簡單且效率高,一個服務只做一件事情

開發團隊小 人員成本高,

微服務是松耦合的,是有功能意義的服務,無論開發還是部署都可以獨立完成,

微服務能用不同的語言開發

易於和第三方集成,微服務允許容易且靈活的自動集成部署(持續集成工具有Jenkins,Hudson,bamboo等)

微服務易於被開發人員理解,修改和維護,這樣可以使小團隊更加關注自己的工作成果,而無需一定要通過合作才能體現價值

微服務允許你融合最新的技術

==微服務只是業務邏輯的代碼,不會和HTML,CSS或其他界面組件融合==。

每個微服務都有自己的獨立數據庫,可靈活搭配,連接公共庫,也可以連接自己的數據庫

開發時,兩種開發模式

     1、前后端分離

   2、全棧工程師

缺點

開發人員要處理分布式系統的復雜性

多服務運維難度,隨着服務的增加,運維的壓力也會增大

多個依賴系統部署

服務間通訊的成本每個微服務之間的通訊

數據的一致性

系統集成測試

性能監控的難度

三、選用spingcloud微服務架構

1、大廠用的微服務架構有哪些

阿里:Dubbo(停更)之后重啟3.0之后/HSF 分布式的數據庫重量級TDDL

京東:JSF()

新浪微博:Motan

當當網:Dubbox

2、各微服務框架的對比

需要的維度技術實現,自己家的工廠都存在,Dubbo睡了5年,老系統用Dubbo

二、springcloud入門概述一堆技術的集合體

Spring的三大模塊:

SpringBoot(構建),Spring Cloud(協調),Spring Cloud Data Flow(連接)

Spring Cloud是一系列框架的有序集合。**它利用Spring Boot的開發便利性巧妙地簡

化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、

熔斷器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。

它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框

架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了復雜的配置和實現原理,最終給

開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包。

三、SpringCloud和SpringBoot以及spring的關系

Spring Boot 是 Spring 的一套快速配置腳手架,可以基於Spring Boot 快速開發單

個微服務就是一個微服務,Spring Cloud是一個基於Spring Boot實現的雲應用開發工具;

Spring Boot專注於快速、方便集成的單個微服務個體,Spring Cloud關注全局的服務治理框架;

Spring Boot使用了默認大於配置的理念,很多集成方案已經幫你選擇好了,能不配置就

不配置,Spring Cloud很大的一部分是基於Spring Boot來實現。

SpringCloud(宏觀醫院)和SpringBoot(微觀醫院科室)

Spring Boot可以離開Spring Cloud獨立使用開發項目,但是Spring Cloud離不開

Spring Boot,屬於依賴的關系。

---------分布式項目:

各個模塊/服務,各自獨立來,分灶吃飯

各自微小的一個進程,讓專業的人專業的模塊,來做專業的事情

每個項目獨立部署

----------拆分

----------各自獨立的進程

通過spring cloud 的config配置,降低耦合度,各自負責各自的事情

-----------------擁有自己獨立的數據庫

Dubbo是怎么到SpringCloud(談談這兩個微服務架構)

最大區別:

1、springcloud拋棄了Dubbo的RPC(遠程過程調用)通信機制,采用的是基於HTTP的Rest方式。

2、需要的技術實現基本上都是自己擁有的框架

3、社區支持,社區活躍程度:2017年重啟了(劉軍),

總結:嚴格來說,這兩種方式各有優劣,從一定程度上后者犧牲了服務調用的性能,但避免了上面跳到的原生RPC帶來的問題,且REST相比RPC更為靈活,服務提供方和調用方的依賴只依靠一紙契約,不存在重度依賴


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM