目录
- 一、配置文件迁移nacos
- 1.安装nacos
- 2.添加依赖
- 3.改造service-product
- 3.改造server-gateway
一、配置文件迁移nacos
1.安装nacos
1,如果之前安装过nacos,nacos数据保存至mysql,先删除已安装的nacos,再安装
docker stop nacos
docker rm nacos
2,资源库获取nacos数据库表结构并且导入数据库
创建名为nacos的数据库
导入nacos.sql
nacos.sql
https://www.aliyundrive.com/s/7B72SVc7mpy
提取码: 98ac
3,更改nacos启动配置参数
docker run -d \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.121.128 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server:1.4.1
2.添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
3.改造service-product
因为我们有多个微服务
配置文件优先级
删除之前的配置文件application
1,添加配置文件bootstrap.properties
spring.application.name=service-product
spring.profiles.active=dev
spring.cloud.nacos.discovery.server-addr=192.168.121.128:8848
spring.cloud.nacos.config.server-addr=192.168.121.128:8848
spring.cloud.nacos.config.prefix=${spring.application.name}
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.shared-configs[0].data-id=common.yaml
说明:
1,配置文件统一配置到nacos配置中心
2,common.yaml为公共配置,后续有需要的服务模块都可直接引用,避免重复配置
2,common.yaml配置文件如下:(根据自己的配置即可)
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:mapper/*Mapper.xml
feign:
sentinel:
enabled: true
client:
config:
default:
readTimeout: 3000
connectTimeout: 1000
spring:
cloud:
sentinel:
transport:
dashboard: http://192.168.121.128:8080
rabbitmq:
host: 192.168.121.128
port: 5672
username: guest
password: guest
publisher-confirm-type: correlated
publisher-returns: true
listener:
simple:
acknowledge-mode: manual #默认情况下消息消费者是自动确认消息的,如果要手动确认消息则需要修改确认模式为manual
prefetch: 1 # 消费者每次从队列获取的消息数量。此属性当不设置时为:轮询分发,设置为1为:公平分发
redis:
host: 192.168.121.128
port: 6379
database: 0
timeout: 1800000
password:
lettuce:
pool:
max-active: 20 #最大连接数
max-wait: -1 #最大阻塞等待时间(负数表示没限制)
max-idle: 5 #最大空闲
min-idle: 0 #最小空闲
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
3,service-product模块配置文件service-product-dev.yaml
server:
port: 8206
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.121.128:3306/gmall_product?characterEncoding=utf-8&useSSL=false
username: root
password: root
hikari:
connection-test-query: SELECT 1 # 自动检测连接
connection-timeout: 60000 #数据库连接超时时间,默认30秒
idle-timeout: 500000 #空闲连接存活最大时间,默认600000(10分钟)
max-lifetime: 540000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
maximum-pool-size: 12 #连接池最大连接数,默认是10
minimum-idle: 10 #最小空闲连接数量
pool-name: SPHHikariPool # 连接池名称
minio:
endpointUrl: http://192.168.121.128:9000
accessKey: admin
secreKey: admin123456
bucketName: gmall
说明:其实配置属性还是以前项目的配置属性,只是变化了文件命名规则,配置项不变。
3.改造server-gateway
删除之前的配置文件
1,添加配置文件bootstrap.properties
spring.application.name=server-gateway
spring.profiles.active=dev
spring.cloud.nacos.discovery.server-addr=192.168.121.128:8848
spring.cloud.nacos.config.server-addr=192.168.121.128:8848
spring.cloud.nacos.config.prefix=${spring.application.name}
spring.cloud.nacos.config.file-extension=yaml
在nacos服务创继续创建server-gateway.yaml即可
后续有新的微服务继续按照这种方式创建