网站首页 > 博客文章 正文
集成环境说明
Nacos简介
Nacos是阿里巴巴集团开源的平台,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理的平台。
Nacos 提供了一组简单易用的特性集,帮助快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos是构建以“服务”为中心的现代应用架构的服务基础设施。
具体可以参考Nacos官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html
Nacos下载安装
SpringBoot集成Nacos
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.13.RELEASE</version> <!-- 此处一定要注册Spring boot的版本号,需要nacos支持的版本才行 -->
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.luandy</groupId>
<artifactId>nacos</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>nacos</name>
<description>nacos project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Nacos配置中心需要引入的依赖 -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.7</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
# Springboot服务端口号
server.port=9990
# nacos server服务地址
nacos.config.server-addr=127.0.0.1:8848
/**
* @author luandy
*/
@SpringBootApplication
@NacosPropertySource(dataId = "nacos-service", autoRefreshed = true)
public class NacosApplication {
public static void main(String[] args) {
SpringApplication.run(NacosApplication.class, args);
}
}
/**
* @author luandy
* @create 2021/01/24 10:31
*/
@RestController
public class NacosController {
@NacosValue(value = "${test.username}", autoRefreshed = true)
private String userName;
@GetMapping(value = "/getuname")
public String getUserName() {
System.out.println("userName is :" + userName);
return userName;
}
}
遇到的小坑儿
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nacosConfigurationPropertiesBinder': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.boot.nacos.config.binder.NacosBootConfigurationPropertiesBinder]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError:
解决办法:Nacos1.4.1好像还不支持SpringBoot2.3以上版本。请修改SpringBoot版本集成Nacos,Requires Spring Boot >= 2.2.0.RELEASE and < 2.3.0.M1
解决办法:Nacos默认未开启权限控制。需要修改Nacos的/nacos/conf/application.properties文件,将nacos.core.auth.enabled属性修改为true,重启Nacos即可。
# SpringBoot启动类上追加此配置(示例)
@NacosPropertySource(dataId = "nacos-service", autoRefreshed = true)
# 使用Nacos配置参数注解上也要追加此配置(示例)
@NacosValue(value = "${test.username}", autoRefreshed = true)
private String userName;
解决办法:启动类和具体注解上都要追加autoRefreshed=true配置
# SpringBoot启动类上追加此配置(示例)
@NacosPropertySource(dataId = "nacos-service", autoRefreshed = true)
# 使用Nacos配置参数注解上也要追加此配置(示例)
@NacosValue(value = "${test.username}", autoRefreshed = true)
private String userName;
解决办法:Nacos的0.7版本开始增加了支持mysql数据源能力,如果需要将配置持久化到数据库中,就使用mysql数据库,如果不需要持久化,可以不使用mysql。
使用mysql数据库的,具体的操作步骤大概如下:
1、安装ysql数据库,版本要求:5.6.5+
2、初始化mysql数据库,数据库初始化文件:/nacos/conf/nacos-mysql.sql
3、修改/nacos/conf/application.properties文件,增加支持mysql数据源配置即可。
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
- 上一篇: 记一次把Nacos做成服务并开机启动
- 下一篇: 微服务学习笔记(微服务怎么学)
猜你喜欢
- 2024-10-01 微服务学习笔记(微服务怎么学)
- 2024-10-01 记一次把Nacos做成服务并开机启动
- 2024-10-01 Nacos 配置中心与注册中心(nacos配置中心连接超时)
- 2024-10-01 小白入门必知必会-Nacos单机安装(nacos入门教程)
- 2024-10-01 windows系统 安装nacos服务注册与发现中心
- 2024-10-01 网络环境问题导致的nacos集群故障
- 2024-10-01 分布式服务限流降级熔断解决方案Nacos之Dashboard界面配置含义
- 2024-10-01 Nacos你真的理解了吗(nacos百科)
- 2024-10-01 java微服务环境配置——注册中心 配置中心Nacos
- 2024-10-01 ZooKeeper、Eureka、Consul 、Nacos微服务注册中心对比
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 355℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 344℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)