溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringCloud分布式微服務(wù)b2b2c電子商務(wù)(一)組件和概念介紹

發(fā)布時間:2020-08-12 07:42:19 來源:ITPUB博客 閱讀:127 作者:gung123 欄目:軟件技術(shù)

一:什么是微服務(wù)(Microservice)

微服務(wù)英文名稱Microservice,Microservice架構(gòu)模式就是將整個Web應(yīng)用組織為一系列小的Web服務(wù)。這些小的Web服務(wù)

可以獨立地編譯及部署,了解springcloud架構(gòu)可以加求求:三五三六二四七二五九,并通過各自暴露的API接口相互通訊。

它們彼此相互協(xié)作,作為一個整體為用戶提供功能,卻可以獨立地進行擴。

微服務(wù)架構(gòu)需要的功能或使用場景

1.我們把整個系統(tǒng)根據(jù)業(yè)務(wù)拆分成幾個子系統(tǒng)。

2:每個子系統(tǒng)可以部署多個應(yīng)用,多個應(yīng)用之間使用負(fù)載均衡。

3:需要一個服務(wù)注冊中心,所有的服務(wù)都在注冊中心注冊,負(fù)載均衡也是通過在注冊中心注冊的服務(wù)來使用一定策略來實現(xiàn)。

4:所有的客戶端都通過同一個網(wǎng)關(guān)地址訪問后臺的服務(wù),通過路由配置,網(wǎng)關(guān)來判斷一個URL請求由哪個服務(wù)處理。請求

轉(zhuǎn)發(fā)到服務(wù)上的時候也使用負(fù)載均衡。

5:服務(wù)之間有時候也需要相互訪問。例如有一個用戶模塊,其他服務(wù)在處理一些業(yè)務(wù)的時候,要獲取用戶服務(wù)的用戶數(shù)據(jù)。

6:需要一個斷路器,及時處理服務(wù)調(diào)用時的超時和錯誤,防止由于其中一個服務(wù)的問題而導(dǎo)致整體系統(tǒng)的癱瘓。

7:還需要一個監(jiān)控功能,監(jiān)控每個服務(wù)調(diào)用花費的時間等。

目前主流的微服務(wù)框架:Dubbo、 SpringCloud、thrift、Hessian等,目前國內(nèi)的中小企業(yè)用的大多數(shù)都是Dubbo,

SpringCloud估計很少,也許有些開發(fā)同學(xué)都沒聽說過。

二:SpringCloud項目簡介

springCloud是基于SpringBoot的一整套實現(xiàn)微服務(wù)的框架。他提供了微服務(wù)開發(fā)所需的配置管理、服務(wù)發(fā)現(xiàn)、斷路器、

智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態(tài)管理等組件。最重要的是,

跟spring boot框架一起使用的話,會讓你開發(fā)微服務(wù)架構(gòu)的云服務(wù)非常好的方便。

SpringBoot旨在簡化創(chuàng)建產(chǎn)品級的 Spring 應(yīng)用和服務(wù),簡化了配置文件,使用嵌入式web服務(wù)器,含有諸多開箱即用微

服務(wù)功能

相關(guān)組件架構(gòu)圖

spring cloud子項目包括:

  • Spring Cloud Config:配置管理開發(fā)工具包,可以讓你把配置放到遠程服務(wù)器,目前支持本地存儲、Git以及

    Subversion。

  • Spring Cloud Bus:事件、消息總線,用于在集群(例如,配置變化事件)中傳播狀態(tài)變化,可與Spring Cloud

    Config聯(lián) 合實現(xiàn)熱部署。

  • Spring Cloud Netflix:針對多種Netflix組件提供的開發(fā)工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。

  • Netflix Eureka:云端負(fù)載均衡,一個基于 REST 的服務(wù),用于定位服務(wù),以實現(xiàn)云端的負(fù)載均衡和中間層服務(wù)器的故

    障轉(zhuǎn)移。

  • Netflix Hystrix:容錯管理工具,旨在通過控制服務(wù)和第三方庫的節(jié)點,從而對延遲和故障提供更強大的容錯能力。

  • Netflix Zuul:邊緣服務(wù)工具,是提供動態(tài)路由,監(jiān)控,彈性,安全等的邊緣服務(wù)。

  • Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態(tài)類型化屬性、線程安全配置操作、輪詢框架、回

    調(diào)機制 等功能。

  • Spring Cloud for Cloud Foundry:通過Oauth3協(xié)議綁定服務(wù)到CloudFoundry,CloudFoundry是VMware推出的

    開源 PaaS云平臺。

  • Spring Cloud Sleuth:日志收集工具包,封裝了Dapper,Zipkin和HTrace操作。

  • Spring Cloud Data Flow:大數(shù)據(jù)操作工具,通過命令行方式操作數(shù)據(jù)流。

  • Spring Cloud Security:安全工具包,為你的應(yīng)用程序添加安全控制,主要是指OAuth3。

  • Spring Cloud Consul:封裝了Consul操作,consul是一個服務(wù)發(fā)現(xiàn)與配置工具,與Docker容器可以無縫集成。

  • Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服務(wù)注冊和發(fā)現(xiàn)。

  • Spring Cloud Stream:數(shù)據(jù)流操作開發(fā)包,封裝了與Redis,Rabbit、Kafka等發(fā)送接收消息。

  • Spring Cloud CLI:基于 Spring Boot CLI,可以讓你以命令行方式快速建立云組件。

SpringCloud特點:

1:約定優(yōu)于配置

2:開箱即用、快速啟動

3:適用于各種環(huán)境

4:輕量級的組件

5:組件支持豐富,功能齊全

三: SpringBoot了解

Spring Boot讓我們的Spring應(yīng)用變的更輕量化。比如:你可以僅僅依靠一個Java類來運行一個Spring引用。你也可以打包

你的應(yīng)用為jar并通過使用java -jar來運行你的Spring Web應(yīng)用。

由于SpringCloud依賴SpringBoot,所以在學(xué)習(xí)SpringCloud框架之前需要了解下SpringBoot。

SpringBoot的主要優(yōu)點:

1:為所有Spring開發(fā)者更快的入門

2:開箱即用,提供各種默認(rèn)配置來簡化項目配置

3:內(nèi)嵌式容器簡化Web項目

4:沒有冗余代碼生成和XML配置的要求

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI