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年重啟了(劉軍),