SpringCloud分散式微服務b2b2c電子商務(一)元件和概念介紹
一:什麼是微服務(Microservice)
微服務英文名稱Microservice,Microservice架構模式就是將整個Web應用組織為一系列小的Web服務。這些小的Web服務
可以獨立地編譯及部署,瞭解springcloud架構可以加求求:三五三六二四七二五九,並透過各自暴露的API介面相互通訊。
它們彼此相互協作,作為一個整體為使用者提供功能,卻可以獨立地進行擴。
微服務架構需要的功能或使用場景
1.我們把整個系統根據業務拆分成幾個子系統。
2:每個子系統可以部署多個應用,多個應用之間使用負載均衡。
3:需要一個服務註冊中心,所有的服務都在註冊中心註冊,負載均衡也是透過在註冊中心註冊的服務來使用一定策略來實現。
4:所有的客戶端都透過同一個閘道器地址訪問後臺的服務,透過路由配置,閘道器來判斷一個URL請求由哪個服務處理。請求
轉發到服務上的時候也使用負載均衡。
5:服務之間有時候也需要相互訪問。例如有一個使用者模組,其他服務在處理一些業務的時候,要獲取使用者服務的使用者資料。
6:需要一個斷路器,及時處理服務呼叫時的超時和錯誤,防止由於其中一個服務的問題而導致整體系統的癱瘓。
7:還需要一個監控功能,監控每個服務呼叫花費的時間等。
目前主流的微服務框架:Dubbo、 SpringCloud、thrift、Hessian等,目前國內的中小企業用的大多數都是Dubbo,
SpringCloud估計很少,也許有些開發同學都沒聽說過。
二:SpringCloud專案簡介
springCloud是基於SpringBoot的一整套實現微服務的框架。他提供了微服務開發所需的配置管理、服務發現、斷路器、
智慧路由、微代理、控制匯流排、全域性鎖、決策競選、分散式會話和叢集狀態管理等元件。最重要的是,
跟spring boot框架一起使用的話,會讓你開發微服務架構的雲服務非常好的方便。
SpringBoot旨在簡化建立產品級的 Spring 應用和服務,簡化了配置檔案,使用嵌入式web伺服器,含有諸多開箱即用微
服務功能
相關元件架構圖
spring cloud子專案包括:
-
Spring Cloud Config:配置管理開發工具包,可以讓你把配置放到遠端伺服器,目前支援本地儲存、Git以及
Subversion。
-
Spring Cloud Bus:事件、訊息匯流排,用於在叢集(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud
Config聯 合實現熱部署。
-
Spring Cloud Netflix:針對多種Netflix元件提供的開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
-
Netflix Eureka:雲端負載均衡,一個基於 REST 的服務,用於定位服務,以實現雲端的負載均衡和中間層伺服器的故
障轉移。
-
Netflix Hystrix:容錯管理工具,旨在透過控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
-
Netflix Zuul:邊緣服務工具,是提供動態路由,監控,彈性,安全等的邊緣服務。
-
Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態型別化屬性、執行緒安全配置操作、輪詢框架、回
調機制 等功能。
-
Spring Cloud for Cloud Foundry:透過Oauth2協議繫結服務到CloudFoundry,CloudFoundry是VMware推出的
開源 PaaS雲平臺。
-
Spring Cloud Sleuth:日誌收集工具包,封裝了Dapper,Zipkin和HTrace操作。
-
Spring Cloud Data Flow:大資料操作工具,透過命令列方式運算元據流。
-
Spring Cloud Security:安全工具包,為你的應用程式新增安全控制,主要是指OAuth2。
-
Spring Cloud Consul:封裝了Consul操作,consul是一個服務發現與配置工具,與Docker容器可以無縫整合。
-
Spring Cloud Zookeeper:操作Zookeeper的工具包,用於使用zookeeper方式的服務註冊和發現。
-
Spring Cloud Stream:資料流操作開發包,封裝了與Redis,Rabbit、Kafka等傳送接收訊息。
-
Spring Cloud CLI:基於 Spring Boot CLI,可以讓你以命令列方式快速建立雲元件。
SpringCloud特點:
1:約定優於配置
2:開箱即用、快速啟動
3:適用於各種環境
4:輕量級的元件
5:元件支援豐富,功能齊全
三: SpringBoot瞭解
Spring Boot讓我們的Spring應用變的更輕量化。比如:你可以僅僅依靠一個Java類來執行一個Spring引用。你也可以打包
你的應用為jar並透過使用java -jar來執行你的Spring Web應用。
由於SpringCloud依賴SpringBoot,所以在學習SpringCloud框架之前需要了解下SpringBoot。
SpringBoot的主要優點:
1:為所有Spring開發者更快的入門
2:開箱即用,提供各種預設配置來簡化專案配置
3:內嵌式容器簡化Web專案
4:沒有冗餘程式碼生成和XML配置的要求
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952307/viewspace-2669943/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Springcloud分散式微服務b2b2c電子商務一整合Hystrix(二)SpringGCCloud分散式微服務
- SpringCloud分散式微服務b2b2c電子商務分散式微服務-docker-feign-hystrix(七)SpringGCCloud分散式微服務Docker
- java b2b2c電子商務 springcloud分散式微服務-Session共享JavaSpringGCCloud分散式微服務Session
- SpringCloud分散式微服務b2b2c電子商務-SpringBoot 整合JPA(四)GCCloud分散式微服務Spring Boot
- SpringCloud分散式微服務b2b2c電子商務(十三)Springboot整合RabbitMQGCCloud分散式微服務Spring BootMQ
- SpringCloud分散式微服務b2b2c電子商務(五)springboot整合 beatlsqlGCCloud分散式微服務Spring BootTLSSQL
- SpringCloud分散式微服務b2b2c電子商務-定時任務(Scheduling Tasks)SpringGCCloud分散式微服務
- Springcloud分散式微服務b2b2c電子商務一Spring Cloud常見問題(一)SpringGCCloud分散式微服務
- JAVA b2b2c電子商務SpringCloud分散式微服務spring-security-基本JavaSpringGCCloud分散式微服務
- SpringCloud分散式微服務b2b2c電子商務-Gateway的基本入門SpringGCCloud分散式微服務Gateway
- SpringCloud分散式微服務b2b2c電子商務docker-feign配置(六)SpringGCCloud分散式微服務Docker
- SpringCloud分散式微服務b2b2c電子商務docker-feign-hystrix-ribbon(八)SpringGCCloud分散式微服務Docker
- SpringCloud分散式微服務b2b2c電子商務-hystrix引數詳解(十)SpringGCCloud分散式微服務
- (一)springcloud微服務分散式雲架構-SpringCloud簡介SpringGCCloud微服務分散式架構
- SpringCloud分散式微服務b2b2c電子商務(三)註冊中心叢集篇SpringGCCloud分散式微服務
- SpringCloud分散式微服務b2b2c電子商務-Spring Boot配置檔案詳解GCCloud分散式微服務Spring Boot
- SpringCloud分散式微服務b2b2c電子商務-docker部署spring cloud專案(十一)SpringGCCloud分散式微服務Docker
- springcloud微服務分散式雲架構-SpringCloud簡介SpringGCCloud微服務分散式架構
- Java b2b2c電子商務 SpringCloud分散式微服務-config的簡單配置shh方式JavaSpringGCCloud分散式微服務
- (十四)JAVA springboot微服務b2b2c電子商務系統- Spring Cloud構建分散式電子商務平臺JavaSpring Boot微服務Cloud分散式
- SpringCloud分散式微服務b2b2c電子商務-Spring Cloud自定義引導屬性源SpringGCCloud分散式微服務
- SpringCloud分散式微服務b2b2c電子商務(二)Eureka(服務註冊和服務發現基礎篇)SpringGCCloud分散式微服務
- JAVA spring cloud boot b2b2c電子商務分散式微服務JavaSpringCloudboot分散式微服務
- springcloud微服務分散式雲架構簡介SpringGCCloud微服務分散式架構
- 微服務分散式事務元件 Seata(一)微服務分散式元件
- SpringCloud分散式微服務b2b2c電子商務(十二)在springboot中用redis實現訊息佇列GCCloud分散式微服務Spring BootRedis佇列
- SpringCloud包含的微服務介紹--EurekaSpringGCCloud微服務
- 叢集、分散式和微服務的概念理解分散式微服務
- (三)springcloud微服務分散式雲架構-SpringCloud整合專案簡介SpringGCCloud微服務分散式架構
- 關於SpringCloud微服務雲架構構建B2B2C電子商務平臺之-(SpringGCCloud微服務架構
- 分散式事務介紹分散式
- JAVA springboot微服務b2b2c電子商務系統-(七)高可用的分散式配置中心(Spring Cloud Config)JavaSpring Boot微服務分散式Cloud
- SpringCloud微服務雲架構構建B2B2C電子商務平臺分析之-服務消費(Ribbon)SpringGCCloud微服務架構
- java版 電子商務Springcloud分散式微服務多使用者商城系統-Springboot專案打包JavaGCCloud分散式微服務Spring Boot
- 分散式事務(一)—分散式事務的概念分散式
- 微服務 Spring cloud 各元件介紹微服務SpringCloud元件
- 分散式微服務雲架構構建電子商務平臺分散式微服務架構
- (十二)JAVA springboot微服務b2b2c電子商務系統:使用Spring Cloud Sleuth和Zipkin進行分散式鏈路跟蹤JavaSpring Boot微服務Cloud分散式