最近项目上需要将eruka替换为nacos,仅此记录eruka是作为一个模块,nacos 则直接部署后使用
- 单击版nacos 安装
- nacos\conf\application.properties 修改数据库连接信息
- windows下直接启动 nacos\binstartup.cmd
- linux 执行命令 :sh startup.sh -m standalone
- 验证nacos是否正常启动 地址:http://ip:8848/nacos/ 用户名密码默认为 nacos/nacos
- 创建命名空间
- 启动类主键修改 @EnableEurekaClient @EnableDiscoveryClient
- 新增nacos配置:
yml 文件需要新增bootstrap.yml
spring:
application:
name: jobfile
cloud:
nacos:
config:
server-addr: ${NACOS_ADDRESS:localhost:8848}
file-extension: yml
namespace: ${NACOS_NAMESPACE:c8e6a450-d5f3-4e72-81db-b50e5ad4843a}
group: ${GROUP_ID:DEFAULT_GROUP}
##也可以只作为配置中心
discovery:
server-addr: ${NACOS_ADDRESS:localhost:8848}
namespace: ${NACOS_NAMESPACE:c8e6a450-d5f3-4e72-81db-b50e5ad4843a}
group: ${SERVER_GROUP_ID:DEFAULT_GROUP}
# 本地调试的时候请开启
#register-enabled: false
#enabled: false
main:
allow-bean-definition-overriding: true
application.properties 文件可以在里面新增配置
pring.cloud.nacos.config.server-addr=${NACOS_ADDRESS:172.20.216.77:8848}
#nacos-config.yaml,不配置默认为properties文件
spring.cloud.nacos.config.file-extension=properties
#nacos自己提供的环境隔离 ,这里是开发环境下的
spring.cloud.nacos.config.namespace=${NACOS_NAMESPACE:c8e6a450-d5f3-4e72-81db-b50e5ad4843a}
# 配置中心淡化了组的概念,使用默认值DEFAULT_GROUP
spring.cloud.nacos.config.group=${SERVER_GROUP_ID:DEFAULT_GROUP}
spring.cloud.nacos.discovery.server-addr=${NACOS_ADDRESS:172.20.216.77:8848}
spring.cloud.nacos.discovery.namespace: ${NACOS_NAMESPACE:c8e6a450-d5f3-4e72-81db-b50e5ad4843a}
spring.cloud.nacos.discovery.group: ${SERVER_GROUP_ID:DEFAULT_GROUP}
# 本地调试的时候请开启
#spring.cloud.nacos.discovery.register-enabled: false
#spring.cloud.nacos.discovery.enabled: true
spring.main.allow-bean-definition-overriding: true
命名空间下新增配置文件
4. pom文件新增依赖(这仅仅是nacos的配置,还依赖cloud相关的),删除eureka依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.2.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.2.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
5.注意事项
如果有搭好的nacos服务,可以直接用,新建命名空间即可
naocs的版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E#%E6%AF%95%E4%B8%9A%E7%89%88%E6%9C%AC%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E6%8E%A8%E8%8D%90%E4%BD%BF%E7%94%A8