作者:三分惡 鏈接:cnblogs.com/three-fighter/p/13485459.html 本文用 19 張思維導(dǎo)圖描述微服務(wù)相關(guān)的概念和架構(gòu),,建議收藏,。包括什么是微服務(wù)、架構(gòu)演進(jìn),、微服務(wù)架構(gòu),、微服務(wù)解決方案、SpringCloud概覽,、Eureka,、Ribbon、Feign,、Hystrix,、Zuul、Gateway,、Config,、Bus、OAuth2,、Sleuth,、什么是SpringCloud、SpringCloud主要組件,。 1,、什么是微服務(wù)1.1、架構(gòu)演進(jìn) 架構(gòu)的發(fā)展歷程是從單體式架構(gòu),,到分布式架構(gòu),,到SOA架構(gòu),再到微服務(wù)架構(gòu),。 圖1:架構(gòu)演進(jìn)
圖2:?jiǎn)误w架構(gòu)示意圖
圖3:分布式架構(gòu)示意圖
圖4:SOA架構(gòu)示意圖 1.2,、微服務(wù)架構(gòu)微服務(wù)架構(gòu)在某種程度上是SOA架構(gòu)的進(jìn)一步的發(fā)展,。 微服務(wù)目前并沒有比較官方的定義。微服務(wù) Microservices 之父,,馬丁.福勒,,對(duì)微服務(wù)大概的概述如下:
圖5:微服務(wù)定義思維導(dǎo)圖 圖6:微服務(wù)架構(gòu)示意圖 1.3,、微服務(wù)解決方案目前最流行的兩種微服務(wù)解決方案是Spring Cloud和Dubbo。 2,、SpringCloud概覽2.0,、什么是SpringCloudSpring Cloud 作為 Java 言的微服務(wù)框架,它依賴于 Spring Boot ,,有快速開發(fā),、持續(xù)交付和容易部署等特點(diǎn),。Spring Cloud 的組件非常多,涉及微服務(wù)的方方面面,,井在開源社區(qū) Spring,、Netflix Pivotal 兩大公司的推動(dòng)下越來越完善。 Spring Cloud是一系列組件的有機(jī)集合,。 圖7:SpringCloud技術(shù)體系 圖8:SpringCloud技術(shù)體系思維導(dǎo)圖 2.1,、SpringCloud主要組件2.1.1、EurekaNetflix Eureka 是由 Netflix 開源的一款基于 REST 的服務(wù)發(fā)現(xiàn)組件,,包括 Eureka Server 及 Eureka Client,。 2.1.2、RibbonRibbon Netflix 公司開源的一個(gè)負(fù)載均衡的組件,。 2.1.3,、FeignFeign是是一個(gè)聲明式的Web Service客戶端。 2.1.4,、HystrixHystrix是Netstflix 公司開源的一個(gè)項(xiàng)目,,它提供了熔斷器功能,能夠阻止分布式系統(tǒng)中出現(xiàn)聯(lián)動(dòng)故障,。 2.1.5,、ZuulZuul 是由 Netflix 孵化的一個(gè)致力于“網(wǎng)關(guān) “解決方案的開源組件。 2.1.6,、GatewaySpring Cloud Gateway 是 Spring 官方基于 Spring 5.0,、 Spring Boot 2.0 和 Project Reactor 等技術(shù)開發(fā)的網(wǎng)關(guān), Spring Cloud Gateway 旨在為微服務(wù)架構(gòu)提供簡(jiǎn)單,、 有效且統(tǒng)一的 API 路由管理方式,。 2.1.7、ConfigSpring Cloud 中提供了分布式配置中 Spring Cloud Config ,,為外部配置提供了客戶端和服務(wù)器端的支持,。 2.1.8、 Bus使用 Spring Cloud Bus, 可以非常容易地搭建起消息總線,。 2.1.9,、OAuth2Sprin Cloud 構(gòu)建的微服務(wù)系統(tǒng)中可以使用 Spring Cloud OAuth2 來保護(hù)微服務(wù)系統(tǒng)。 2.1.10,、SleuthSpring Cloud Sleuth是Spring Cloud 個(gè)組件,,它的主要功能是在分布式系統(tǒng)中提供服務(wù)鏈路追蹤的解決方案。 本文中對(duì)架構(gòu)的演進(jìn)及Spring Cloud 構(gòu)建微服務(wù)的基本組件進(jìn)行了概覽,。 |
|