国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何整合spring cloud常用組件?

這篇具有很好參考價(jià)值的文章主要介紹了如何整合spring cloud常用組件?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

一、SpringCloud Alibaba 簡(jiǎn)介

1、簡(jiǎn)介

2、為什么使用

3、版本選擇

4、項(xiàng)目中的依賴

二、SpringCloud Alibaba-Nacos[作為注冊(cè)中心]

1、下載 nacos-server

2、啟動(dòng) nacos-server

3、將微服務(wù)注冊(cè)到 nacos 中

三、SpringCloud Alibaba-Nacos[作為配置中心]

四、gateway

1、簡(jiǎn)介

2、核心概念

3、使用

(1)HelloWorld

(2)斷言

(3)過(guò)濾器

五、SpringCloud Alibaba-OSS

(一)、簡(jiǎn)介

(二)、使用步驟

1、開(kāi)通阿里云對(duì)象存儲(chǔ)服務(wù)

2、引入 SpringCloud Alibaba-OSS

3、配置阿里云 oss 相關(guān)的賬號(hào)信息

4、測(cè)試使用 OssClient 上傳


一、SpringCloud Alibaba 簡(jiǎn)介

1、簡(jiǎn)介

Spring Cloud Alibaba 致力于提供 微服務(wù)開(kāi)發(fā)的 一站式解決方案 。此項(xiàng)目包含開(kāi)發(fā)分布式應(yīng)用
微服務(wù)的必需組件,方便開(kāi)發(fā)者通過(guò) Spring Cloud 編程模型輕松使用這些組件來(lái)開(kāi)發(fā)分布
式應(yīng)用服務(wù)。
依托 Spring Cloud Alibaba ,您只需要添加一些注解和少量配置,就可以將 Spring Cloud 應(yīng)用
接入阿里微服務(wù)解決方案,通過(guò)阿里中間件來(lái)迅速搭建分布式應(yīng)用系統(tǒng)。
https://github.com/alibaba/spring-cloud-alibaba

2、為什么使用

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

SpringCloud 的幾大痛點(diǎn)
SpringCloud 部分組件停止維護(hù)和更新,給開(kāi)發(fā)帶來(lái)不便;
SpringCloud 部分環(huán)境搭建復(fù)雜,沒(méi)有完善的可視化界面,我們需要大量的二次開(kāi)發(fā)和定制
SpringCloud 配置復(fù)雜,難以上手,部分配置差別難以區(qū)分和合理應(yīng)用
SpringCloud Alibaba 的優(yōu)勢(shì):
阿里使用過(guò)的組件經(jīng)歷了考驗(yàn),性能強(qiáng)悍,設(shè)計(jì)合理,現(xiàn)在開(kāi)源出來(lái)大家用
成套的產(chǎn)品搭配完善的可視化界面給開(kāi)發(fā)運(yùn)維帶來(lái)極大的便利
搭建簡(jiǎn)單,學(xué)習(xí)曲線低。
結(jié)合 SpringCloud Alibaba 我們最終的技術(shù)搭配方案:
SpringCloud Alibaba - Nacos :注冊(cè)中心(服務(wù)發(fā)現(xiàn) / 注冊(cè))
SpringCloud Alibaba - Nacos :配置中心(動(dòng)態(tài)配置管理)
SpringCloud - Ribbon :負(fù)載均衡
SpringCloud - Feign :聲明式 HTTP 客戶端(調(diào)用遠(yuǎn)程服務(wù))
SpringCloud Alibaba - Sentinel :服務(wù)容錯(cuò)(限流、降級(jí)、熔斷)
SpringCloud - Gateway API 網(wǎng)關(guān)( webflux 編程模式)
SpringCloud - Sleuth :調(diào)用鏈監(jiān)控
SpringCloud Alibaba - Seata :原 Fescar ,即分布式事務(wù)解決方案

3、版本選擇

由于 Spring Boot 1 Spring Boot 2 Actuator 模塊的接口和注解有很大的變更,且spring-cloud-commons 從 1.x.x 版本升級(jí)到 2.0.0 版本也有較大的變更,因此我們采取跟SpringBoot 版本號(hào)一致的版本 :
? 1.5.x 版本適用于 Spring Boot 1.5.x
? 2.0.x 版本適用于 Spring Boot 2.0.x
? 2.1.x 版本適用于 Spring Boot 2.1.x

在官網(wǎng)alibaba/spring-cloud-alibaba: Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware. (github.com)也可找到版本對(duì)應(yīng)

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

4、項(xiàng)目中的依賴

在 common 項(xiàng)目中引入如下。進(jìn)行統(tǒng)一管理,我的springboot版本為2.7.1
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2021.0.4.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

二、SpringCloud Alibaba-Nacos[作為注冊(cè)中心]

Nacos 是阿里巴巴開(kāi)源的一個(gè)更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理
平臺(tái)。他是使用 java 編寫(xiě)。需要依賴 java 環(huán)境
Nacos 文檔地址: https://nacos.io/zh-cn/docs/quick-start.html

1、下載 nacos-server

https://github.com/alibaba/nacos/releases

2、啟動(dòng) nacos-server

  • 雙擊 bin 中的 startup.cmd 文件
  • 訪問(wèn) http://localhost:8848/nacos/
  • 使用默認(rèn)的 nacos/nacos 進(jìn)行登錄

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

3、將微服務(wù)注冊(cè)到 nacos 中

(1) 、首先,修改 pom.xml 文件,引入 Nacos Discovery Starter 。
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

(2)、在應(yīng)用的 /src/main/resources/application.properties 配置文件中配置 Nacos Server 地址

spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
(3) 、使用 @EnableDiscoveryClient 開(kāi)啟服務(wù)注冊(cè)發(fā)現(xiàn)功能
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}
(4) 、啟動(dòng)應(yīng)用,觀察 nacos 服務(wù)列表是否已經(jīng)注冊(cè)上服務(wù)
注意:每一個(gè)應(yīng)用都應(yīng)該有名字,這樣才能注冊(cè)上去。修改 application.properties 文件
spring.application.name=service-provider
server.port=8000
(5) 、注冊(cè)更多的服務(wù)上去,測(cè)試使用 feign 遠(yuǎn)程調(diào)用
Nacos 使用三步
1 、導(dǎo)包 nacos-discovery
2 、寫(xiě)配置,指定 nacos 地址,指定應(yīng)用的名字
3 、開(kāi)啟服務(wù)注冊(cè)發(fā)現(xiàn)功能 @EnableDiscoveryClient
Feign 使用三步
1 、導(dǎo)包 openfeign
2 、開(kāi)啟 @EnableFeignClients 功能
3 、編寫(xiě)接口,進(jìn)行遠(yuǎn)程調(diào)用
/*
 * 這是聲明式的遠(yuǎn)程調(diào)用
 */
@Component
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
    @RequestMapping("/coupon/coupon/member/list")
    public R membercoupons();
}
(6) 、更多配置
https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/na
cos-example/nacos-discovery-example/readme-zh.md#more

三、SpringCloud Alibaba-Nacos[作為配置中心]

1、pom.xml 引入 Nacos Config Starter

<!--nacos作為配置中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

?注意,新版的nacos作為配置中心,需要導(dǎo)入spring-cloud-starter-bootstrap,而且nacos新導(dǎo)入的config版本要與原本的nacos注冊(cè)中心相同

<!--nacos作為配置中心而bootstrap被禁用,因此還需導(dǎo)入bootstrap依賴-->
        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-bootstrap -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.0.3</version>
        </dependency>

2、在應(yīng)用的 /src/main/resources/bootstrap.properties 置文件中配置 Nacos Config 元數(shù)據(jù)

spring.application.name=nacos-config-example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
主要配置應(yīng)用名和配置中心地址
3 、在 nacos 中添加配置
nacos 中創(chuàng)建一個(gè) 應(yīng)用名 .properties 配置文件并編寫(xiě)配置
Nacos Config 數(shù)據(jù)結(jié)構(gòu)
Nacos Config 主要通過(guò) dataId 、namespace和? group 來(lái)唯一確定一條配置。
Nacos Client Nacos Server 端獲取數(shù)據(jù)時(shí),調(diào)用的是此接口 ConfigService.getConfig(String dataId, String group, long timeoutMs) 。
Spring Cloud 應(yīng)用獲取數(shù)據(jù)
dataID
Nacos Config Starter 中, dataId 的拼接格式如下
? ${prefix} - ${spring.profiles.active} . ${file-extension} prefix 默認(rèn)為 spring.application.name
的值,也可以通過(guò)配置項(xiàng) spring.cloud.nacos.config.prefix 來(lái)配置。
? spring.profiles.active 即為當(dāng)前環(huán)境對(duì)應(yīng)的 profile
注意,當(dāng) activeprofile 為空時(shí),對(duì)應(yīng)的連接符 - 也將不存在, dataId 的拼接格式變成
${prefix}.${file-extension}
file-extension 為配置內(nèi)容的數(shù)據(jù)格式,可以通過(guò)配置項(xiàng)
spring.cloud.nacos.config.file-extension 來(lái)配置。 目前只支持 properties 類型。
Group
Group 默認(rèn)為 DEFAULT_GROUP ,可以通過(guò) spring.cloud.nacos.config.group 配置。

?4、在應(yīng)用中使用@Value @RefreshScope

完成上述兩步后,應(yīng)用會(huì)從 Nacos Config 中獲取相應(yīng)的配置,并添加在 Spring Environment
PropertySources 中 。 這 里 我 們 使 用 @Value 注 解 來(lái) 將 對(duì) 應(yīng) 的 配 置 注 入 到
SampleController userName age 字段,并添加 @RefreshScope 打開(kāi)動(dòng)態(tài)刷新功能
@RefreshScope
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {

    @Value("${coupon.user.name}")
    private String userName;
    @Value("${coupon.user.age}")
    private Integer age;

    @RequestMapping("/test")
    public R test() {
        return R.ok().put("name", userName).put("age", age);
    }
}

5、進(jìn)階

(1) 、核心概念
命名空間:
用于進(jìn)行租戶粒度的配置隔離。不同的命名空間下,可以存在相同的 Group Data ID
配置。 Namespace 的常用場(chǎng)景之一是不同環(huán)境的配置的區(qū)分隔離,例如開(kāi)發(fā)測(cè)試環(huán)境和生
產(chǎn)環(huán)境的資源(如配置、服務(wù))隔離等。
配置集: 一組相關(guān)或者不相關(guān)的配置項(xiàng)的集合稱為配置集。在系統(tǒng)中,一個(gè)配置文件通常就是一個(gè)配
置集,包含了系統(tǒng)各個(gè)方面的配置。例如,一個(gè)配置集可能包含了數(shù)據(jù)源、線程池、日志級(jí)
別等配置項(xiàng)。
配置集 ID
Nacos 中的某個(gè)配置集的 ID 。配置集 ID 是組織劃分配置的維度之一。 Data ID 通常用于組
織劃分系統(tǒng)的配置集。一個(gè)系統(tǒng)或者應(yīng)用可以包含多個(gè)配置集,每個(gè)配置集都可以被一個(gè)有
意義的名稱標(biāo)識(shí)。 Data ID 通常采用類 Java 包(如 com.taobao.tc.refund.log.level )的命名
規(guī)則保證全局唯一性。此命名規(guī)則非強(qiáng)制。
配置分組:
Nacos 中的一組配置集,是組織配置的維度之一。通過(guò)一個(gè)有意義的字符串(如 Buy
Trade )對(duì)配置集進(jìn)行分組,從而區(qū)分 Data ID 相同的配置集。當(dāng)您在 Nacos 上創(chuàng)建一個(gè)
配置時(shí),如果未填寫(xiě)配置分組的名稱,則配置分組的名稱默認(rèn)采用 DEFAULT_GROUP 。配置
分組的常見(jiàn)場(chǎng)景:不同的應(yīng)用或組件使用了相同的配置類型,如 database_url 配置和
MQ_topic 配置。

nacos作為配置中心,可以通過(guò)以下實(shí)現(xiàn)隔離性

1、使用命名空間區(qū)分環(huán)境。比如說(shuō)開(kāi)發(fā),測(cè)試,生成階段不同,可以在bootstrap.properties中配置上需要使用哪個(gè)命名空間下的配置

2、使用命名空間區(qū)分服務(wù)。每一個(gè)微服務(wù)之間相互隔離配置。每一個(gè)微服務(wù)都創(chuàng)建自己的命名空間,只加載自己命名空間下的所有配置

(2)、原理

自動(dòng)注入:
NacosConfigStarter 實(shí)現(xiàn)了 org.springframework.cloud.bootstrap.config.PropertySourceLocator
接口,并將優(yōu)先級(jí)設(shè)置成了最高。
Spring Cloud 應(yīng)用啟動(dòng)階段,會(huì)主動(dòng)從 Nacos Server 端獲取對(duì)應(yīng)的數(shù)據(jù),并將獲取到的數(shù)據(jù)轉(zhuǎn)換成 PropertySource 且注入到 Environment PropertySources 屬性中,所以使用@Value 注解也能直接獲取 Nacos Server 端配置的內(nèi)容。
動(dòng)態(tài)刷新:
Nacos Config Starter 默認(rèn)為所有獲取數(shù)據(jù)成功的 Nacos 的配置項(xiàng)添加了監(jiān)聽(tīng)功能,在監(jiān)聽(tīng)到服務(wù)端配置發(fā)生變化時(shí)會(huì)實(shí)時(shí)觸發(fā) org.springframework.cloud.context.refresh.ContextRefresher 的 refresh 方法 。
如果需要對(duì) Bean 進(jìn)行動(dòng)態(tài)刷新,請(qǐng)參照 Spring Spring Cloud 規(guī)范。 推薦給類添加 @RefreshScope @ConfigurationProperties 注解
(3)、 加載多配置文件
可以將各種不同的配置分開(kāi),比如數(shù)據(jù)庫(kù)的、整合mybatis的、其他的各種都分開(kāi)成不同的配置文件
spring.cloud.nacos.config.server-addr=localhost:8848

spring.cloud.nacos.config.namespace=c207b94f-c1a3-426e-8e71-dd70002cfcd6
spring.cloud.nacos.config.group=dev

spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true

spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true
(4) namespace group 最佳實(shí)踐
每個(gè)微服務(wù)創(chuàng)建自己的 namespace 進(jìn)行隔離, group 來(lái)區(qū)分 dev , beta , prod 等環(huán)境

四、gateway

1、簡(jiǎn)介

網(wǎng)關(guān)作為流量的入口,常用功能包括路由轉(zhuǎn)發(fā)、權(quán)限校驗(yàn)、限流控制等。而 springcloud gateway
作為 SpringCloud 官方推出的第二代網(wǎng)關(guān)框架,取代了 Zuul 網(wǎng)關(guān)。

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

網(wǎng)關(guān)提供 API 全托管服務(wù),豐富的 API 管理功能,輔助企業(yè)管理大規(guī)模的 API ,以降低管理成本和安全風(fēng)險(xiǎn),包括協(xié)議適配、協(xié)議轉(zhuǎn)發(fā)、安全策略、防刷、流量、監(jiān)控日志等功能。
Spring Cloud Gateway 旨在提供一種簡(jiǎn)單而有效的方式來(lái)對(duì) API 進(jìn)行路由,并為他們提供切面,例如:安全性,監(jiān)控/ 指標(biāo) 和彈性等。
官方文檔地址:
https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.1.3.RELEASE/single/spring-clo
ud-gateway.html
Spring Cloud Gateway 特點(diǎn) :
  1. 基于 Spring5,支持響應(yīng)式編程和 SpringBoot2.0
  2. 支持使用任何請(qǐng)求屬性進(jìn)行路由匹配
  3. 特定于路由的斷言和過(guò)濾器
  4. 集成 Hystrix 進(jìn)行斷路保護(hù)
  5. 集成服務(wù)發(fā)現(xiàn)功能
  6. 易于編寫(xiě) Predicates Filters
  7. 支持請(qǐng)求速率限制
  8. 支持路徑重寫(xiě)
思考:
為什么使用 API 網(wǎng)關(guān)?
API 網(wǎng)關(guān)出現(xiàn)的原因是微服務(wù)架構(gòu)的出現(xiàn),不同的微服務(wù)一般會(huì)有不同的網(wǎng)絡(luò)地址,而外部
客戶端可能需要調(diào)用多個(gè)服務(wù)的接口才能完成一個(gè)業(yè)務(wù)需求,如果讓客戶端直接與各個(gè)微服
務(wù)通信,會(huì)有以下的 問(wèn)題
  1. 客戶端會(huì)多次請(qǐng)求不同的微服務(wù),增加了客戶端的復(fù)雜性。
  2. 存在跨域請(qǐng)求,在一定場(chǎng)景下處理相對(duì)復(fù)雜。
  3. 認(rèn)證復(fù)雜,每個(gè)服務(wù)都需要獨(dú)立認(rèn)證。
  4. 難以重構(gòu),隨著項(xiàng)目的迭代,可能需要重新劃分微服務(wù)。例如,可能將多個(gè)服務(wù)合并成一個(gè)或者將一個(gè)服務(wù)拆分成多個(gè)。如果客戶端直接與微服務(wù)通信,那么重構(gòu)將會(huì)很難實(shí)施。
某些微服務(wù)可能使用了防火墻 / 瀏覽器不友好的協(xié)議,直接訪問(wèn)會(huì)有一定的困難。
以上這些問(wèn)題可以借助 API 網(wǎng)關(guān)解決。 API 網(wǎng)關(guān)是介于客戶端和服務(wù)器端之間的中間層,所有的外部請(qǐng)求都會(huì)先經(jīng)過(guò) API 網(wǎng)關(guān)這一層。也就是說(shuō), API 的實(shí)現(xiàn)方面更多的考慮業(yè)務(wù)邏輯,而安全、性能、監(jiān)控可以交由 API 網(wǎng)關(guān)來(lái)做,這樣既提高業(yè)務(wù)靈活性又不缺安全性。
使用 API 網(wǎng)關(guān)后的 優(yōu)點(diǎn) 如下:
  1. 易于監(jiān)控??梢栽诰W(wǎng)關(guān)收集監(jiān)控?cái)?shù)據(jù)并將其推送到外部系統(tǒng)進(jìn)行分析。
  2. 易于認(rèn)證。可以在網(wǎng)關(guān)上進(jìn)行認(rèn)證,然后再將請(qǐng)求轉(zhuǎn)發(fā)到后端的微服務(wù),而無(wú)須在每個(gè)微服務(wù)中進(jìn)行認(rèn)證。
  3. 減少了客戶端與各個(gè)微服務(wù)之間的交互次數(shù)。

2、核心概念

路由。路由是網(wǎng)關(guān)最基礎(chǔ)的部分,路由信息有一個(gè) ID 、一個(gè)目的 URL 、一組斷言和一組Filter 組成。如果斷言路由為真,則說(shuō)明請(qǐng)求的 URL 和配置匹配
斷言。Java8 中的斷言函數(shù)。 Spring Cloud Gateway 中的斷言函數(shù)輸入類型是 Spring5.0 框架中的 ServerWebExchange Spring Cloud Gateway 中的斷言函數(shù)允許開(kāi)發(fā)者去定義匹配來(lái)自于 http request 中的任何信息,比如請(qǐng)求頭和參數(shù)等。
過(guò)濾器。一個(gè)標(biāo)準(zhǔn)的 Spring webFilter 。 Spring cloud gateway 中的 filter 分為兩種類型的Filter,分別是 Gateway Filter Global Filter 。過(guò)濾器 Filter 將會(huì)對(duì)請(qǐng)求和響應(yīng)進(jìn)行修改處理

工作原理?

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

客戶端發(fā)送請(qǐng)求給網(wǎng)關(guān),彎管 HandlerMapping 判斷是否請(qǐng)求滿足某個(gè)路由,滿足就發(fā)給網(wǎng)關(guān)的 WebHandler 。這個(gè) WebHandler 將請(qǐng)求交給一個(gè)過(guò)濾器鏈,請(qǐng)求到達(dá)目標(biāo)服務(wù)之前,會(huì)執(zhí)行所有過(guò)濾器的 pre 方法。請(qǐng)求到達(dá)目標(biāo)服務(wù)處理之后再依次執(zhí)行所有過(guò)濾器的 post 方法
一句話: 滿足某些斷言( predicates )就路由到指定的地址( uri ),使用指定的過(guò)濾器(f ilter

3、使用

(1)HelloWorld

1、創(chuàng)建網(wǎng)關(guān)項(xiàng)目,引入網(wǎng)關(guān)
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
2、編寫(xiě)網(wǎng)關(guān)配置文件
spring:
  cloud:
    gateway:
      routes:
        - id: test_route
          uri: https://www.baidu.com
          predicates:
            - Query=url,baidu
        - id: qq_route
          uri: https://www.qq.com
          predicates:
            - Query=url,qq

3、注意
各種 Predicates 同時(shí)存在于同一個(gè)路由時(shí),請(qǐng)求必須同時(shí)滿足所有的條件才被這個(gè)路
由匹配。
一個(gè)請(qǐng)求滿足多個(gè)路由的謂詞條件時(shí),請(qǐng)求只會(huì)被首個(gè)成功匹配的路由轉(zhuǎn)發(fā)

4、測(cè)試
可以使用 postman 進(jìn)行測(cè)試網(wǎng)關(guān)的路由功能

(2)斷言

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

?(3)過(guò)濾器

GatewayFilter

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

GlobalFilter

如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-591197.html

五、SpringCloud Alibaba-OSS

(一)、簡(jiǎn)介

對(duì)象存儲(chǔ)服務(wù)( Object Storage Service , OSS )是一種海量、安全、低成本、高可靠的云存儲(chǔ)服務(wù),適合存放任意類型的文件。容量和處理能力彈性擴(kuò)展,多種存儲(chǔ)類型供選擇,全面優(yōu)化存儲(chǔ)成本。

(二)、使用步驟

1、開(kāi)通阿里云對(duì)象存儲(chǔ)服務(wù)

https://www.aliyun.com/product/oss如何整合spring cloud常用組件?,springcloud,spring cloud,java,spring,后端

2、引入 SpringCloud Alibaba-OSS

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alicloud-oss</artifactId>
</dependency>

3、配置阿里云 oss 相關(guān)的賬號(hào)信息

注意:必須申請(qǐng) RAM 賬號(hào)信息,并且分配 OSS 操作權(quán)限
spring:
  cloud:
    alicloud:
      access-key: xxxx
      secret-key: xxxx
      oss:
        endpoint: xxxxx

4、測(cè)試使用 OssClient 上傳

    @Test
    public void testUpload() throws FileNotFoundException {
        FileInputStream inputStream = new FileInputStream("C:\\Users\\86133\\Pictures\\CSDN\\向日葵.jpg");
        ossClient.putObject("gulimall-2345", "向日葵.jpg", inputStream);
        System.out.println("上傳完成");
    }

到了這里,關(guān)于如何整合spring cloud常用組件?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Gateway網(wǎng)關(guān)組件(在Spring Cloud整合Gateway(idea19版本))

    Gateway網(wǎng)關(guān)組件(在Spring Cloud整合Gateway(idea19版本))

    ????????Spring Cloud Gateway官網(wǎng):Spring Cloud Gateway ????????局域網(wǎng)中就有網(wǎng)關(guān)這個(gè)概念,局域網(wǎng)接收數(shù)據(jù)或發(fā)送數(shù)據(jù)都要通過(guò)網(wǎng)關(guān),比如使用VMware虛擬機(jī)軟件搭建虛擬機(jī)集群的時(shí)候,往往我們需要選擇IP段中的?個(gè)IP作為網(wǎng)關(guān)地址,網(wǎng)關(guān)可以對(duì)請(qǐng)求進(jìn)行控制,提升我們系統(tǒng)的安

    2024年02月16日
    瀏覽(26)
  • Spring Cloud微服務(wù)架構(gòu)組件【Java培訓(xùn)】

    Spring Cloud微服務(wù)架構(gòu)組件【Java培訓(xùn)】

    SpringCloud是一系列框架的有序集合,為開(kāi)發(fā)人員構(gòu)建微服務(wù)架構(gòu)提供了完整的解決方案。Spring Cloud根據(jù)分布式服務(wù)協(xié)調(diào)治理的需求成立了許多子項(xiàng)目,每個(gè)項(xiàng)目通過(guò)特定的組件去實(shí)現(xiàn),下面我們講解一下Spring Cloud 包含的常用組件以及模塊。 (1)Spring Cloud Config:分布式配置中心

    2023年04月25日
    瀏覽(93)
  • Spring Cloud實(shí)戰(zhàn) |分布式系統(tǒng)的流量控制、熔斷降級(jí)組件Sentinel如何使用

    Spring Cloud實(shí)戰(zhàn) |分布式系統(tǒng)的流量控制、熔斷降級(jí)組件Sentinel如何使用

    專欄集錦,大佬們可以收藏以備不時(shí)之需 Spring Cloud實(shí)戰(zhàn)專欄:https://blog.csdn.net/superdangbo/category_9270827.html Python 實(shí)戰(zhàn)專欄:https://blog.csdn.net/superdangbo/category_9271194.html Logback 詳解專欄:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow專欄:https://blog.csdn.net/superdangbo/category_869

    2024年02月04日
    瀏覽(34)
  • 微服務(wù)SpringCloud教程——Spring Cloud是什么

    Spring Cloud 是一款基于 Spring Boot 實(shí)現(xiàn)的微服務(wù)框架。Spring Cloud 源自 Spring 社區(qū),主要由?Pivotal 和 Netflix 兩大公司提供技術(shù)迭代和維護(hù)。 隨著微服務(wù)的火爆流行,國(guó)內(nèi)外各大互聯(lián)網(wǎng)公司都相繼分享了他們?cè)谖⒎?wù)架構(gòu)中,針對(duì)不同場(chǎng)景出現(xiàn)的各種問(wèn)題的解決方案和開(kāi)源框架。

    2024年02月15日
    瀏覽(17)
  • Spring Cloud 整合

    Spring Cloud 整合

    玩SpringCloud之前最好懂SpringBoot,別搞撐死駱駝的事。Servlet整一下變成Spring;SSM封裝、加入東西就變?yōu)镾pringBoot;SpringBoot再封裝、加入東西就變?yōu)镾pringCloud 單體架構(gòu) :表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層即所有功能都在一個(gè)工程里,打成一個(gè)jar包、war包進(jìn)行部署,例如:GitHub 是

    2024年02月05日
    瀏覽(19)
  • Spring Cloud學(xué)習(xí)筆記【消息總線-SpringCloud Bus】

    Spring Cloud學(xué)習(xí)筆記【消息總線-SpringCloud Bus】

    Spring Cloud Bus是Spring Cloud生態(tài)系統(tǒng)中的一個(gè)組件,用于實(shí)現(xiàn)微服務(wù)架構(gòu)中的消息總線。它利用了輕量級(jí)消息代理(如RabbitMQ或Kafka)作為通信中間件,實(shí)現(xiàn)了在分布式系統(tǒng)中的消息傳遞和事件廣播。 Spring Cloud Bus旨在簡(jiǎn)化微服務(wù)架構(gòu)中的配置管理和狀態(tài)同步。它允許將配置更改或

    2024年02月09日
    瀏覽(26)
  • Spring Cloud整合nacos

    Spring Cloud 是一個(gè)分布式微服務(wù)框架,提供了一系列用于構(gòu)建分布式系統(tǒng)的工具和組件。Nacos 是阿里巴巴開(kāi)源的一個(gè)注冊(cè)中心和配置中心,也提供調(diào)用鏈追蹤、動(dòng)態(tài)配置、服務(wù)發(fā)現(xiàn)、流量管理等功能。 在使用 Spring Cloud 構(gòu)建微服務(wù)應(yīng)用時(shí),我們需要整合 Nacos,以下是整合步驟:

    2024年02月10日
    瀏覽(26)
  • 【springcloud 微服務(wù)】Spring Cloud Alibaba Sentinel使用詳解

    目錄 一、前言 二、分布式系統(tǒng)遇到的問(wèn)題 2.1 服務(wù)可用性問(wèn)題 2.1.1? 單點(diǎn)故障

    2024年01月16日
    瀏覽(22)
  • 【springcloud 微服務(wù)】Spring Cloud Alibaba Nacos使用詳解

    目錄 一、前言 二、nacos介紹 2.1??什么是 Nacos 2.2 nacos 核心能力 2.2.1 服務(wù)發(fā)現(xiàn)和服務(wù)健康監(jiān)測(cè)

    2024年01月22日
    瀏覽(26)
  • Spring Cloud【消息驅(qū)動(dòng)(什么是Spring Cloud Stream、SpringCloud Stream核心概念、入門案例之消息消費(fèi)者 )】(十一)

    Spring Cloud【消息驅(qū)動(dòng)(什么是Spring Cloud Stream、SpringCloud Stream核心概念、入門案例之消息消費(fèi)者 )】(十一)

    ? 目錄 消息驅(qū)動(dòng)_什么是Spring Cloud Stream 消息驅(qū)動(dòng)_SpringCloud Stream核心概念

    2024年02月15日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包