做响应式网站用什么框架,设计新闻发布网站模板,大连建设工程信息网官网首页,做安居客网站需要什么浏览器Nacos介绍 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称#xff0c;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集#xff0c;帮助您快速…Nacos介绍 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 官方文档
https://nacos.io/zh-cn/docs/what-is-nacos.html Nacos安装部署
环境依赖
JDK1.8
下载地址 官网地址: https://github.com/alibaba/nacos/releases 百度网盘地址: 链接https://pan.baidu.com/s/1fTmvE9M0C_Ep_EJxQR4FPg 提取码iscm
Nacos的安装部署非常简单如果只是作为测试学习那么只需要将下载下来的Nacos进行解压然后到bin目录根据当前系统运行对应的startup.cmd即可。 **注**如果nacos的版本在2.2.0以上的版本时必须执行此变更否则无法启动。 修改conf目录下的application.properties文件。 设置其中的nacos.core.auth.plugin.nacos.token.secret.key值详情可查看鉴权-自定义密钥. Nacos支持三种部署模式 单机模式 - 用于测试和单机试用。 集群模式 - 用于生产环境确保高可用。 多集群模式 - 用于多数据中心场景。 将下载下来的nacos包进行解压如果是window系统打开bin文件夹双击运行startup.cmd即可linux也是一样执行 sh startup.sh 命令。
默认运行的是集群模式如果不想使用集群只想用单机模式那么需要再运行的时候添加如下命令.
window:
startup.cmd -m standalonelinux:
startup.sh -m standalone如果不想每次运行添加上述命令那么可以修改startup.cmd或sh startup.sh脚本修改为set MODE“standalone”示例图如下: 配置完毕之后执行启动脚本启动Nacos默认地址为http://localhost:8848/nacos账号和密码为nacos/nacos如果不想用这个可以在登录之后的权限控制-用户列表菜单中进行修改。
示例图如下: Springboot整合Nacos示例
环境依赖
JDK1.8Springboot2.xnacos2.x 官方的版本对应建议配置: 版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。 但是为了防止版本问题强烈建议Springboot的版本和nacos的版本完全一致。
maven仓库配置如下 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.2.1.RELEASE/versionrelativePath//parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- Spring Boot Test 依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactIdversion2.2.1.RELEASE/version/dependency!--日志 --dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion${slf4j}/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion${logback}/version/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactIdversion${logback}/version/dependency/dependencies **注**如果Springboot是2.4以上的版本maven仓库需要额外增加如下依赖
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId/dependency一个简单的示例 首先创建一个配置文件配置文件用bootstrap.properties配置信息如下: spring.banner.charsetUTF-8
server.tomcat.uri-encodingUTF-8
spring.http.encoding.charsetUTF-8
spring.http.encoding.enabledtrue
spring.http.encoding.forcetrue
spring.messages.encodingUTF-8
server.port8299
spring.application.namespringboot-nacos
spring.profiles.activedev# nacos配置
## Nacos服务自动注册
nacos.discovery.autoRegistertrue
## Nacos服务注册中心地址
spring.cloud.nacos.discovery.server-addr http://127.0.0.1:8848
## Nacos服务配置中心地址
spring.cloud.nacos.config.server-addr http://127.0.0.1:8848 然后再来创建一个基本的启动类 import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** Author pancm* Description springboot集成nacos配置中心* Date 2024/1/26* Param* return**/
SpringBootApplication
EnableDiscoveryClient
public class App
{private static final Logger logger LoggerFactory.getLogger(App.class);public static void main( String[] args ){// 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件SpringApplication.run(App.class, args);logger.info(程序启动成功!);}
}这里我们还需要对配置是否生效进行测试这里就创建一个Controller然后调用接口的时候返回配置信息。RefreshScope注解是可以进行动态刷新。 import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import static org.springframework.web.bind.annotation.RequestMethod.GET;/*** Author pancm* Description 官方示例文档* Date 2024/1/26* Param* return**/
RestController
RequestMapping(config)
RefreshScope
public class ConfigController {Value(${pcm.name:pcm-1001})private String name;RequestMapping(value /getName, method GET)public String getName() {return name;}}注这里为了防止启动失败添加配置的时候设置一个默认值。 然后运行App启动成功日志信息如下: 首先我们调用接口来查看当前的配置信息输入http://localhost:8299/config/getName返回示例图如下可以看到是可以获取默认的配置。
然后我们在Nacos的页面上面添加一个pcm.name的配置并且更改配置的值这里我们更改为pcm-2001然后点击发布。
这里需要注意一下DataId的名称命名规则默认的情况下dataIdprefix.file-extension其中profix默认为${spring.application.name}file-extension默认为properties。 如果指定了spring.profile.active那么就会变成dataIdprefix-spring.profile.active.file-extension。 比如上述的项目名称为springboot-nacos配置文件的后缀是properties那么DataId就是springboot-nacos.properties指定了spring.profile.activedev那么DataId就是springboot-nacos-dev.properties。 但是我指定了spring.profile.activedev为什么DataId是springboot-nacos.properties 也可以呢因为这里还涉及到一个优先级的问题。
DataId有三个配置规则 dataId prefixdataId prefix.file-extensiondataId prefix-spring.profile.active.file-extension 他们的优先级是按照匹配的精准度来进行了也就是如果配置多个dataId的话那么他会匹配最相近的也就是匹配优先级是321这里我们也可以通过启动中的日志进行查看。 发布成功之后我们可以看到日志也进行了刷新。
然后我们再进行访问http://localhost:8299/config/getName。通过下面的示例图我们可以看到配置已经刷新为我们设置的最新配置了。 Nacos配置管理 上述示例中我们已经完成了一个简单的获取Nacos中的配置示例并且可以实现配置刷新。但是如果我们有多个服务使用的话那么我们需要对配置进行区分不建议都是用默认的public空间因此我们还需要创建新的命名空间如果还有分组要求(一般就是环境区分dev、test、prod)那么我们还可以再进行创建配置时指定好group。
在nacos的命名空间菜单中我们创建一个新的命名空间其中命名空间ID这个保证唯一就行默认可以不填写。 创建成功之后我们在来创建一个新的配置并且指定分组为dev方便我们管理。此时里面的配置内容为pcm.name pcm-dev。 创建完成之后我们在Springboot的项目配置文件中新增如下配置
## nacos命名空间id
spring.cloud.nacos.config.namespace pcm-namespace--id
## 对应的分组名称
spring.cloud.nacos.config.group dev
## 配置文件后缀名也可以不配置默认为properties
spring.cloud.nacos.config.fileExtension properties重新启动项目查看日子我们可以看到已经配置成功了。 然后我们在重新启动项目http://localhost:8299/config/getName。通过下面的示例图我们可以看到配置已经是设置的命名空间配置了。 多配置文件 在使用Nacos中有时配置太多不想放在一个配置文件中此时就可以使用多个配置文件来进行区分管理。 在bootstrap.properties配置文件中新增如下配置如果后续还有新的配置参考下列配置递增extension-configs[0]的数值即可比如在新增一个配置文件那么就是extension-configs[1] xxx.properties 这样配置就可以了。
# 新增额外配置
##额外的第一个配置文件的dataId
spring.cloud.nacos.config.extension-configs[0].data-idpcm-dev.properties
##额外的第一个配置文件的分组
spring.cloud.nacos.config.extension-configs[0].groupdev在nacos中新增改配置文件然后这里添加一个新的配置pcm.age28. 然后再ConfigController代码中新增如下接口添加完成之后重启项目。 Value(${pcm.age:18})private String age;RequestMapping(value /getAge, method GET)public String getAge() {return age;}访问http://localhost:8299/config/getAge。通过下面的示例图我们可以看到配置已经生生效了。 其他
关于SpringBoot整合nacos的demo简单讲解的文章就讲解到这里了如有不妥欢迎指正
项目地址
SpringBoot 的nacos的项目工程地址: https://github.com/xuwujing/springBoot-study/tree/master/springboot-nacos
SpringBoot整个集合的地址: https://github.com/xuwujing/springBoot-study
SpringBoot整合系列的文章 springBoot配置文件的读取以及过滤器和拦截器的使用 SpringBoot的Restful风格的服务 SpringBootMybatis DruidPageHelper实现多数据源并分页 SpringBoot整合ElasticSearch实现多版本的兼容 SpringBoot整合Kafka和Storm SpringBoot整合Jsp和Thymeleaf SpringBoot整合Netty并使用Protobuf进行数据传输 SpringBoot简单打包部署 SpringBoot整合Redis使用Restful风格实现CRUD功能 SpringBoot优雅的全局异常处理 SpringBoot项目实现文件上传和邮件发送 SpringBoot整合Swagger和Actuator SpringBoot事物Transaction实战讲解教程 SpringBoot切面Aop的demo简单讲解
音乐推荐 翩若惊鸿婉若游龙荣曜秋菊华茂春松。仿佛兮若轻云之蔽月飘飘兮若流风之回雪。远而望之皎若太阳升朝霞迫而察之灼若芙蕖出渌波。–网易云网友评论 原创不易如果感觉不错希望给个推荐您的支持是我写作的最大动力 版权声明: 作者虚无境 博客园出处http://www.cnblogs.com/xuwujing CSDN出处http://blog.csdn.net/qazwsxpcm 个人博客出处http://www.panchengming.com