Spring cloud 迁移 Spring cloud Alibaba
nacos下载
https://github.com/alibaba/nacos/releases
1.服务发现与注册
主工程
在主pom.xml中添加Nacos相关依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
各个微服务
在需要注册的微服务xml文件中添加Nacos服务发现依赖
<!-- 添加Nacos相关依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
注释Euerka相关依赖
在yml文件中添加服务发现配置,以及监控暴露。
spring:
#nacos相关配置
cloud:
nacos:
discovery:
server-addr: localhost:8848
#监控
management:
endpoints:
web:
exposure:
include: '*'
替换服务发现注解
//@EnableEurekaServer
@@EnableDiscoveryClient
2.Nacos config配置
创建config微服务
添加pom依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
创建bootstrap.yml
server:
port: 3377
spring:
application:
name: mogu-config
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
#文件后缀
file-extension: yaml
#指定命名空间
namespace: dev
修改application.yml
spring:
profiles:
active: dev
Nacos+MySql持久化配置
启动服务器
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows
启动命令:
cmd startup.cmd
或者双击startup.cmd运行文件。
找到数据库新建脚本nacos/conf/nacos-mysql.sql,创建数据库nacos_config并执行脚本
issus:部分老msql版本vachat溢出
SET GLOBAL INNODB_LARGE_PREFIX = ON;
SET GLOBAL innodb_file_format = BARRACUDA;
创建表的时候指定表的 row format 格式为 Dynamic 或者 Compressed,如下示例:
create table idx_length_test_02(
id int auto_increment primary key,
name varchar(255)
)
ROW_FORMAT=DYNAMIC default charset utf8mb4;
找到nacos/conf/application.properties
修改添加
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
重启Nacos
其它需要上传application.yml的微服务
添加pom依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
修改application.yml
spring:
profiles:
active: dev
在Nacos中添加配置
Data ID格式为:
{微服务名称}-{版本名称(spring.profiles.active)}.yaml