本文意于记录Springcloud Alibaba + Nacos 开发过程中,关于Nacos部分的问题
注册中心:Nacos(需要准备mysql数据库)
一:下载与安装
1.如何安装nacos(本人是windows的开发环境,所以这边写的是在windwos下载安装Nacos,版本为1.3.2)
step1: 下载,和彩云下载,速度较快。点我可直接跳转个人资源下载资源博客地址包含各种java开发所需资源下载
链接:https://caiyun.139.com/m/i?0d5CfnS8islku
提取码:p7z9
step2:解压
step3:新建nacos数据库,并执行nacos初始化脚本
执行以下两个脚本(解压后相对路径)
nacos-server-1.3.2\nacos\conf\nacos-mysql.sql
nacos-server-1.3.2\nacos\conf\schema.sql
step4: 修改配置文件(数据库连接信息)
step5:启动Nacos
打开第一步下载的startNacos.bat(可使用notepadd++打开),修改里面的nacos程序包解压地址
保存后双击即可启动Windows版本的Nacos;
二:SpringCloud Alibaba + Nacos 如何启用Nacos注册中心配置:
springboot启用Nacos注册中心,只需要配置bootStrap.yaml或者properties
配置属性: spring.cloud.nacos 如下
在Consumer的配置文件中添加如下配置:
spring:
profiles:
active: dev
application:
name: service-***-consumer
cloud:
nacos:
discovery:
enabled: true
register-enabled: true
server-addr: ${service.nacos-address}
ephemeral: false
group: ${service.group}
namespace: ${spring.profiles.active}
username: ***
password: ***
config:
enabled: true
server-addr: ${service.nacos-address}
file-extension: yaml
refresh-enabled: true
group: ${service.group}
namespace: ${spring.profiles.active}
cache:
redis:
use-key-prefix: true
key-prefix: hc
cache-null-values: false
time-to-live: 20s
dubbo:
application:
id: ${spring.application.name}
name: ${spring.application.name}
protocols:
dubbo:
port: 16917
registry:
address: nacos://${service.nacos-address}
username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password}
group: ${service.group}
cloud:
subscribed-services: ${service.provider.names} #订阅服务,不配置会扫描所有服务
consumer:
timeout: 5000
service:
provider:
names: service-calcoin-provider,service-auth-provider #服务中依赖的provider(需要先启动provider,再启动consumer)
group: CHENG_GROUP #Nacos中相当于分组,互不干扰的概念
nacos-address: 127.0.0.1:65530 #配置地址 注意页面登录需要带路径,但这边不需要
在Provider配置文件中添加如下
spring:
profiles:
active: dev
application:
name: service-***-provider
cloud:
nacos:
discovery:
enabled: true
register-enabled: true
server-addr: ${service.nacos-address}
ephemeral: false
group: ${service.group}
namespace: ${spring.profiles.active}
#ip: 10.0.0.25
username: nacos
password: ***
config:
enabled: true
server-addr: ${service.nacos-address}
file-extension: yaml
refresh-enabled: true
group: ${service.group}
namespace: ${spring.profiles.active}
jpa:
hibernate:
ddl-auto: none
naming:
implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
show-sql: true
database: MySQL
open-in-view: true
properties:
hibernate:
enable_lazy_load_no_trans: true
cache:
redis:
use-key-prefix: true
key-prefix: hc
cache-null-values: false
time-to-live: 20s
dubbo:
application:
#项目名
name: ${spring.application.name}
id: ${spring.application.name}
owner: geminiwong
version: 1.0.1
scan:
base-packages: com.hicling.mountain.servicecalcoinprovider.service
protocols:
dubbo:
name: dubbo
port: 16970
provider:
timeout: 30000
loadbalance: leastactive
retries: 2
config-center:
namespace: ${spring.profiles.active} #指定元数据命名空间
registry:
group: ${service.group}
address: nacos://${service.nacos-address}
username: ${spring.cloud.nacos.username}
password: ${spring.cloud.nacos.password}
feign:
hystrix:
enabled: true
service:
group: CHENG_GROUP
nacos-address: 127.0.0.1:65530 #127.0.0.1:65530
三:启用Nacos配置中心:
配置中心匹配ID配置的格式为:一下参数在配置文件中找。
${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
如
工程name=service-test-consumer
active = dev
file-extension = yaml
应该在Nacos中新增配置文件:ID为service-test-consumer-dev.yaml
如何在nacos中添加配置文件:
1.新增命名空间,即GROUP
2.新增配置文件
选中命名空间,点击新增配置按钮
3.输入配置信息
输入配置信息,Data Id 格式在 (三:启用Nacos配置中心:) 有详细说明
完成后点击发布
4:配置发布以后,启动provider
可以再日志信息中看到本地配置文件存储路径(使用nacos配置的话会从nacos配置文件下载到本地)
默认:C:\Users\m1825\nacos\config 具体可以到日志里面去看
本地查看是否已经下载配置文件