五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

SpringCloud應(yīng)用如何接入ServiceComb引擎

微服務(wù)引擎

微服務(wù)引擎(Cloud Service Engine,CSE),是用于微服務(wù)應(yīng)用的云中間件,支持華為云自研的注冊(cè)配置中心Servicecomb引擎和開源增強(qiáng)的注冊(cè)配置中心Nacos引擎。用戶可結(jié)合其他云服務(wù),快速構(gòu)建云原生微服務(wù)體系,實(shí)現(xiàn)微服務(wù)應(yīng)用的快速開發(fā)和高可用運(yùn)維。

前提條件

  • 已創(chuàng)建ServiceComb引擎。
  • 已創(chuàng)建CCE集群。
  • 已在ServiceStage創(chuàng)建環(huán)境,并對(duì)ServiceComb引擎和CCE資源進(jìn)行了納管。
  • 本地編譯構(gòu)建打包機(jī)器環(huán)境已安裝了Java JDK、Maven,并且能夠訪問Maven中央庫(kù)。
  • 已基于Spring Cloud開發(fā)好了微服務(wù)應(yīng)用。

操作步驟

步驟1:在項(xiàng)目的“pom.xml”文件中引入依賴。

如果使用Spring Cloud開發(fā)微服務(wù),引入:

<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-service-engine</artifactId>
</dependency>

說明:上述spring-cloud-starter-huawei-service-engine模塊包含以下依賴模塊:

<!-- 注冊(cè)發(fā)現(xiàn)模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-discovery</artifactId>
</dependency>
<!-- 配置中心模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-config</artifactId>
</dependency>
<!-- 服務(wù)治理模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-governance</artifactId>
</dependency>
<!-- 灰度發(fā)布模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-router</artifactId>
</dependency>

如果使用Spring Cloud Gateway開發(fā)網(wǎng)關(guān),引入:

<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-service-engine-gateway</artifactId>
</dependency>

說明:上述spring-cloud-starter-huawei-service-engine-gateway模塊包含以下依賴模塊:

<!-- 注冊(cè)發(fā)現(xiàn)模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-discovery</artifactId>
</dependency>
<!-- 配置中心模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-config</artifactId>
</dependency>
<!-- 服務(wù)治理模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-governance</artifactId>
</dependency>
<!-- 灰度發(fā)布模塊 -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-router</artifactId>
</dependency>
<!-- 網(wǎng)關(guān)模塊 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

推薦使用Maven Dependency Management管理項(xiàng)目依賴的三方軟件,在項(xiàng)目中引入:

<dependencyManagement>
<dependencies>
<!-- configure user spring cloud / spring boot versions -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- configure spring cloud huawei version -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-huawei-bom</artifactId>
<version>${spring-cloud-huawei.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

如果您的項(xiàng)目中,已經(jīng)包含了上述依賴,則不需要做任何處理。

如果您的項(xiàng)目中使用了其他注冊(cè)發(fā)現(xiàn)庫(kù),比如eureka,需要對(duì)項(xiàng)目進(jìn)行適當(dāng)調(diào)整,包括:

刪除項(xiàng)目中eureka相關(guān)依賴,比如:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

如果代碼中使用了@EnableEurekaServer, 需要?jiǎng)h除并替換為@EnableDiscoveryClient。

說明:組件spring-cloud-starter-huawei-service-engine包含了服務(wù)注冊(cè)、配置中心、服務(wù)治理、灰度發(fā)布、契約管理等功能。其中契約管理對(duì)于Spring Cloud微服務(wù)應(yīng)用的運(yùn)行不是必須的。ServiceComb引擎對(duì)契約個(gè)數(shù)存在數(shù)量限制,當(dāng)微服務(wù)應(yīng)用契約個(gè)數(shù)超過限制,會(huì)注冊(cè)失敗。如果遺留系統(tǒng)無法進(jìn)行合理的拆分減少契約個(gè)數(shù),可以排除依賴,不使用契約管理功能。

<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-service-engine</artifactId>
<exclusions>
<exclusion>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-swagger</artifactId>
</exclusion>
</exclusions>
</dependency>

步驟2:配置微服務(wù)信息。

在“bootstrap.yml”增加微服務(wù)描述信息。如果項(xiàng)目中沒有“bootstrap.yml”,則創(chuàng)建一個(gè)新的文件。

spring:
application:
name: basic-provider
cloud:
servicecomb:
discovery:
enabled: true
address: http://127.0.0.1:30100
appName: basic-application
serviceName: ${spring.application.name}
version: 0.0.1
healthCheckInterval: 15
config:
serverAddr: http://127.0.0.1:{port}
serverType: {servertype}

說明:healthCheckInterval參數(shù)配置值的單位為秒。

當(dāng)ServiceComb引擎版本為1.x時(shí),{port}取值為30103,{servertype}取值為config-center。

當(dāng)ServiceComb引擎版本為2.x時(shí),{port}取值為30110,{servertype}取值為kie。

步驟3:(可選)配置安全認(rèn)證參數(shù)。

使用ServiceComb引擎專享版,并且啟用了安全認(rèn)證,需要配置,其他場(chǎng)景可以跳過這個(gè)步驟。

ServiceComb引擎開啟了安全認(rèn)證之后,所有調(diào)用的API都需要先獲取token才能調(diào)用。

使用安全認(rèn)證首先需要從ServiceComb引擎獲取用戶名和密碼,然后在配置文件中增加如下配置。

明文方法:

spring:
cloud:
servicecomb:
credentials:
account:
name:用戶名
password:密碼
cipher: default

自定義實(shí)現(xiàn)加密存儲(chǔ)算法:

首先實(shí)現(xiàn)接口com.huaweicloud.common.util.Cipher,里面有兩個(gè)方法:
String name(),這個(gè)是spring.cloud.servicecomb.credentials.cipher的名稱定義,需要配置在配置文件中。
char[] decode(char[] encrypted),解密接口,對(duì)secretKey進(jìn)行解密后使用。
public class CustomCipher implements Cipher
加密解密的實(shí)現(xiàn)需要作為BootstrapConfiguration,首先聲明:
@Configuration
public class MyCipherConfiguration {
@Bean
public Cipher customCipher() {
return new CustomCipher();
}
}
然后增加文件 META-INF/spring.factories定義配置:
org.springframework.cloud.bootstrap.BootstrapConfiguration=\
com.huaweicloud.common.transport.MyCipherConfiguration
自定義完成,即可在bootstrap.yaml文件中使用新增加的解密算法:
spring:
cloud:
servicecomb:
credentials:
account:
name:用戶名
password:密碼
cipher: 自定義算法名稱

CSE使用過程中常見問題

常見問題

更多精選文章推薦