微服務
軟件架構是一個包含各種組織的系統組織,這些組件包括Web服務器,應用服務器,數據庫,存儲,通訊層),它們彼此或和環境存在關係。系統架構的目標是解決利益相關者的關注點。
什麼是微服務架構
微服務架構優勢
獨立部署,由於微服務具備獨立的運行進程,所以每個微服務也可以獨立部署。當某個微服務發生變更時無需編譯、部署整個應用。由微服務組成的應用相當於具備一系列可並行的發佈流程,使得發佈更加高效,同時降低對生產環境所造成的風險,最終縮短應用交付週期。
技術選型靈活微服務架構下,技術選型是去中心化的。每個團隊可以根據自身服務的需求和行業發展的現狀,自由選擇最適合的技術棧。由於每個微服務相對簡單,當需要對技術棧進行升級時所面臨的風險較低,甚至完全重構一個微服務也是可行的。
容錯:當某個組建發生故障時,在單一進程的傳統架構下,故障很有可能在進程內擴散,形成應用全局性的不可用。在微服務架構下,故障會被隔離在單個服務中。若設計良好,其他服務可通過重試、平穩退化等機制實現應用層面的容錯。
擴展:單塊架構應用也可以實現橫向擴展,就是將整個應用完整的複製到不同的節點。當應用的不同組件在擴展需求上存在差異時,微服務架構便體現出其靈活性,因為每個服務可以根據實際需求獨立進行擴展。
高併發
1、應用緩存
2、HTTP緩存
3、多級緩存
4、池化
5、步併發
6、擴容
7、隊列
Dubbo
1、服務集群-集群容錯模式
2、服務提供者集群與負載均衡
3、架構高併發高可用選型技術
4、部署圖
Spring Cloud 19個技術
1、Spring Cloud Config 配置中心,利用git集中管理程序的配置。
2、Spring Cloud Netflix 集成眾多Netflix的開源軟件
3、Spring Cloud Bus 消息總線,利用分佈式消息將服務和服務實例連接在一起,用於在一個集群中傳播狀態的變化
4、Spring Cloud for Cloud Foundry 利用Pivotal Cloudfoundry集成你的應用程序
5、Spring Cloud Cloud Foundry Service Broker 為建立管理雲託管服務的服務代理提供了一個起點。
6、Spring Cloud Cluster 基於Zookeeper, Redis, Hazelcast, Consul實現了領導選舉和平民狀態模式的抽象和實現。
7、Spring Cloud Consul 基於Hashicorp Consul實現的服務發現和配置管理。
8、Spring Cloud Security 在Zuul代理中為OAuth2 rest客戶端和認證頭轉發提供負載均衡
9、Spring Cloud Sleuth SpringCloud應用的分佈式追蹤系統,和Zipkin,HTrace,ELK兼容。
10、Spring Cloud Data Flow 一個雲本地程序和操作模型,組成數據微服務在一個結構化的平臺上。
11、Spring Cloud Stream 基於Redis,Rabbit,Kafka實現的消息微服務,簡單聲明模型用以在Spring Cloud應用中收發消息。
12、Spring Cloud Stream App Starters 基於Spring Boot為外部系統提供spring的集成
13、Spring Cloud Task 短生命週期的微服務,為SpringBooot應用簡單聲明添加功能和非功能特性。
14、Spring Cloud Task App Starters
15、Spring Cloud Zookeeper 服務發現和配置管理基於Apache Zookeeper。
16、Spring Cloud for Amazon Web Services 快速和亞馬遜網絡服務集成。
17、Spring Cloud Connectors 便於PaaS應用在各種平臺上連接到後端像數據庫和消息經紀服務。
18、Spring Cloud Starters (項目已經終止並且在Angel.SR2後的版本和其他項目合併)
19、Spring Cloud CLI 插件用Groovy快速的創建Spring Cloud組件應用。
Spring Cloud共集成了19個子項目,裡面都包含一個或者多個第三方的組件或者框架!
互聯網微服務架構設計總結
共五大模塊74個知識點解析互聯網微服務架構:高併發、高可用、Dubbo、SpringCloud、Docker
這裡由於文案過長,小編以截圖的模式給大家展示出來,想要獲取到這份互聯網微服務架構設計的朋友們可以轉發此文關注我私信【架構書籍】免費拿走
高併發-應用緩存
高併發- HTTP緩存
高併發- 多級緩存(分佈式緩存)
高併發-擴容
高併發-擴容分佈式數據庫
高併發-隊列應用場景
高併發小結——應用緩存、HTTP緩存、多級緩存、池化、異步併發、擴容、隊列
高可用
高可用-負載均衡
高可用-反向代理
高可用-隔離術
高可用小結——負載均衡與反向代理、隔離、限流、降級、超時與重試、回滾、壓力測試與應急預案
Dubbo
詳細介紹
Dubbo服務集群-集群容錯模式
Dubbo 服務提供者集群與負載均衡
Dubbo架構高併發高可用選型技術
Dubbo大體部署圖
Spring Cloud
Spring Cloud和dubbo比較-背景
Spring Cloud微服務架構圖
Spring Cloud大致部署圖
Spring cloud、Docker署的支持
Spring Cloud和Dubbo比較-對比
技術架構建議
1、Dubbo,是阿里巴巴服務化治理的核心框架,並被廣泛應用於阿里巴巴集團的各成員站點(阿里巴巴現在使用架構為HSF)。 於2012-10-24最後版本2.5.3成為最後一版本,已經成為過去,也是過去的王者
2、Spring Cloud,從命名我們就可以知道,它是Spring Source的產物,Spring社區的強大背書可以說是Java企業界最有影響力的組織了,除了Spring Source之外,還有Pivotal和Netfix是其強大的後盾與技術輸出,是現今微服務的王者
3、Saas的部署最好在Docker環境下部署,Spring Cloud無縫銜接
4、 Spring Cloud 和 Dubbo技術在服務治理上Spring Cloud 顯然優越於Dubbo,配置管理,服務發現,斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖,領導選舉,分佈式會話,群集狀態,一直是dubbo架構部署運行後最為頭疼的事情, Spring Cloud 一一自帶組件解決了這些問題。
5、針對當前項目來說,團隊項目採用spring boot, 學習成本成本很少
6、 Spring Cloud依託於spring boot,天然可以部署在Docker環境下,天生就是為高可用而設計的,維護成本比dubbo低很多
這裡由於文案過長,小編以截圖的模式給大家展示出來,想要獲取到這份互聯網微服務架構設計的朋友們可以轉發此文關注我私信【架構書籍】免費拿走
阿里巴巴微服務:SpringCloud+SpringBoot+Docker+Dubbo
這裡由於文案過長,小編以截圖的模式給大家展示出來,想要獲取到這份阿里巴巴微服務:SpringCloud+SpringBoot+Docker+Dubbo 的朋友們可以轉發此文關注我私信【架構書籍】免費拿走
架構設計
微服務架構
Docker環境搭建
SpringBoot
使用Dubbox+Spring Boot搭建微服務架構
基於Redis+ActiveMQ實現高併發訪問
分佈式下的第三方接入
高併發測試
這裡由於文案過長,小編以截圖的模式給大家展示出來,想要獲取到這份阿里巴巴微服務:SpringCloud+SpringBoot+Docker+Dubbo 的朋友們可以轉發此文關注我私信【架構書籍】免費拿走
記得轉發+關注後私信我【架構書籍】哦!
閱讀更多 java互聯網架構 的文章