Nacos.版本選擇
您可以在Nacos的release notes及博客中找到每個版本支持的功能的介紹剩胁,當前推薦的穩(wěn)定版本為1.4.2或2.0.1懊缺。
一信姓、安裝Nacos(如何安裝Nacos百度相關文檔很多,這里不多介紹)
官方所有版本地址:https://github.com/alibaba/nacos/releases
Nacos(版本:1.4.1)網盤鏈接:https://pan.baidu.com/s/1G71mn6Ec6R04NAa8ouQ5bw
提取碼:pql2
二张弛、項目 - New - Module
三荒典、選擇Maven - jdk- Next
四、修改Name為engine - 查看GroupId是否正確 - Finish
五吞鸭、修改pom.xml文件,放入業(yè)務層所需jar包 和 集成公共模塊common
<!--集成公共模塊-->
<dependency>
<groupId>com.bi.cloud</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--nacos service discovery client依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos config client 依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--spring cloud+dubbo 依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-apache-dubbo-adapter</artifactId>
</dependency>
完整pom.xml展示
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>bi-cloud</artifactId>
<groupId>com.bi.cloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>engine</artifactId>
<dependencies>
<!--集成公共模塊-->
<dependency>
<groupId>com.bi.cloud</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--nacos service discovery client依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos config client 依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--spring cloud+dubbo 依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-apache-dubbo-adapter</artifactId>
</dependency>
</dependencies>
</project>
六寺董、子模塊engine下 src/resources下新增 File配置文件 bootstrap.yml
七、配置分別為 test(測試) pre(預生產) prd(生產) 三個環(huán)境(這里是指定Nacos中的配置文件地址)
spring:
profiles:
active: test #默認運行環(huán)境
---
server:
port: 8001
spring:
profiles: test #運行環(huán)境 + 命名空間名稱
application:
name: bi-cloud-engine #唯一名稱
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #Nacos 鏈接地址
namespace: a60273f4-07fb-4568-82eb-d078a3b02107 #Nacos 命名空間ID
config:
server-addr: 127.0.0.1:8848 #Nacos 鏈接地址
namespace: a60273f4-07fb-4568-82eb-d078a3b02107 #Nacos 命名空間ID
group: DEFAULT_GROUP # 默認分組就是DEFAULT_GROUP刻剥,如果使用默認分組可以不配置
file-extension: yml #默認properties
---
server:
port: 8001
spring:
profiles: pre #運行環(huán)境 + 命名空間名稱
application:
name: bi-cloud-engine #唯一名稱
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #Nacos 鏈接地址
namespace: c60d2198-0b2f-46c1-82cb-4c2f20fb8123 #Nacos 命名空間ID
config:
server-addr: 127.0.0.1:8848 #Nacos 鏈接地址
namespace: c60d2198-0b2f-46c1-82cb-4c2f20fb8123 #Nacos 命名空間ID
group: DEFAULT_GROUP # 默認分組就是DEFAULT_GROUP遮咖,如果使用默認分組可以不配置
file-extension: yml #默認properties
---
server:
port: 8001
spring:
profiles: prd #運行環(huán)境 + 命名空間名稱
application:
name: bi-cloud-engine #唯一名稱
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #Nacos 鏈接地址
namespace: 0be74aa4-00e5-4c48-ae8c-34965c327212 #Nacos 命名空間ID
config:
server-addr: 127.0.0.1:8848 #Nacos 鏈接地址
namespace: 0be74aa4-00e5-4c48-ae8c-34965c327212 #Nacos 命名空間ID
group: DEFAULT_GROUP # 默認分組就是DEFAULT_GROUP,如果使用默認分組可以不配置
file-extension: yml #默認properties
八造虏、啟動Nacos(這里為 Windows版 演示)
九御吞、登錄Nacos,地址:http://localhost:8848/nacos/#/login(賬號密碼都為 nacos)
十酗电、根據(jù)自身業(yè)務創(chuàng)建對應的命名空間
十一魄藕、在nacos下創(chuàng)建對應環(huán)境下的配置文件(下圖舉例 test環(huán)境)
pre環(huán)境配置展示圖内列,prd環(huán)境類似
YAML 配置詳情
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.*.***:3306/examxx?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
username: admin
password: admin
druid:
initialSize: 10
minIdle: 10
maxActive: 30
maxWait: 50000
dubbo:
scan:
# dubbo 服務掃描基準包
base-packages: com.bi.cloud.service
protocol:
# dubbo 協(xié)議
name: dubbo
# dubbo 協(xié)議端口( -1 表示自增端口撵术,從 20880 開始)
port: -1
host: 127.0.0.1
registry:
# 掛載到 Spring Cloud 的注冊中心
address: spring-cloud://localhost
十二、在common下創(chuàng)建service包(用于上圖 dubbo 服務掃描基準包)
十三话瞧、在engine下java創(chuàng)建啟動項 :com.bi.cloud.EngineApplication.class
啟動類文件詳情
package com.bi.cloud;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
@EntityScan("com.bi.cloud.pojo")
@MapperScan("com.bi.cloud.dao")
public class EngineApplication {
public static void main(String[] args) {
SpringApplication.run(EngineApplication.class, args);
}
}