Springcloud-nacos实现配置和注册中心的方法
作者:wotrd 发布时间:2023-06-15 13:46:42
最近,阿里开源的nacos比较火,可以和springcloud和dubbo共用,对dubbo升级到springcloud非常的方便。这里学习一下他的配置和注册中心。我主要记录一下它的使用方式和踩得坑。
nacos简单介绍
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
以上是从nacos官网摘抄下来的,总结一下nacos有以下有点几个优点:
(1)它支持配置中心管理(含图形化界面)
(2)部署交付简单
(3)包含注册中心,不用独自搭建配置和注册中心。
(4)完美集成spring cloud和dubbo拓展性好
nacos使用方式,具体参考官方配置
(1)从 Github 上下载源码方式
git clone https://github.com/alibaba/na...
cd nacos/
mvn -Prelease-nacos clean install -U
ls -al distribution/target/
cd distribution/target/nacos-server-$version/nacos/bin
(2)解压,启动nacos
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
sh startup.sh -m standalone
完成,集群高可用请自行研究,本文不过多赘述。
nacos实现配置中心
springcloud使用nacos作为配置中心特别简单。只需要添加依赖,使用bootstrap配置注册中心地址即可。
(1)添加nacos的配置中心依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
(2)配置bootstrap.properties文件
#配置服务的名字
spring.application.name=provider-service
#nacos配置中心的地址
spring.cloud.nacos.config.server-addr=nacos.ailijie.top
#nacos配置的编码方式
spring.cloud.nacos.config.encode=utf-8
#配置组名子,需要在nacos的配置设置,不然找不到
spring.cloud.nacos.config.group=PROVIDER_GROUP
#配置后缀,properties不需要
spring.cloud.nacos.config.file-extension=yml
#加载nacos多个配置文件
spring.cloud.nacos.config.shared-dataids=provider-service.properties,test.properties
#刷新加载的其他环境
spring.cloud.nacos.config.refreshable-dataids=provider-service.properties,test.properties
(3)简单介绍一下,使用nacos配置中心,客户端会定时心跳拉去配置,环境变量会动态刷新,但是在bean中需要使用 @RefreshCode注解去刷新,不然不生效。数据库配置可以自定义数据源。加载其他配置文件的话,需要使用refres-dataids去刷新环境。
nacos实现注册中心
同样的,nacos实现注册中心也是相当的简单,nacos配置成功后,我们只需要添加依赖,注解,配置注册中心地址即可。
(1)添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
(2)在启动类上添加@EnableDiscoveryClient 注解
(3)配置注册中心地址
#配置服务名字
spring.application.name=xxx-service
#配置服务集群名字
spring.cloud.nacos.discovery.cluster-name=consumer-service
#配置注册中心地址
spring.cloud.nacos.discovery.server-addr=nacos.ailijie.top
完成,就是这样简单。
nacos采坑心得
下面是我遇到的一些问题:
(1)使用版本管理,学习新项目我们首先需要了解版本兼容特性,不然会出现很多问题。
(2)配置不生效,没有使用@RefreshCode注解刷新配置
(3)分清注册中心和配置中心是两个概念,需要配置两个地址
(4)学会看源码,看维基。
来源:https://segmentfault.com/a/1190000019669986
猜你喜欢
- 最近有个项目的几张表,数量级在千万以上,技术栈是SpringBoot+Mybatis-plus+MySQL。如果使用单表,在进行查询操作,非
- 1,添加依赖在project的build.gradle文件中添加dependencies { classpath 'co
- 示例 1 :使用搜索表单创建全屏模式我们要构建的小应用程序有一个应用程序栏,右侧有一个搜索按钮。按下此按钮时,将出现一个全屏模式对话框。它不
- 定义与结构 备忘录(Memento)模式又称标记(Token)模式。GOF给备忘录模式的定义为:在不破坏
- 快速排序快速排序是一种比较高效的排序算法,采用“分而治之”的思想,通过多次比较和交换来实现排序,在一
- 本文分享的示例代码实现提取2个集合中相同和不同的元素此处需要使用Collection集合所提供的一个方法:removeAll(Cellect
- 本文实例为大家分享了java导出csv格式文件的具体代码,供大家参考,具体内容如下导出csv格式文件的本质是导出以逗号为分隔的文本数据imp
- 一次正常的请求最近别人需要调用我们系统的某一个功能,对方希望提供一个api让其能够更新数据。由于该同学是客户端开发,于是有了类似以下代码。@
- Springboot导出文件,前端下载文件后端代码可以把请求设置为post,我这里是Get @RequestMapping(value =
- 大家好,今天尝试用swing技术写一个贪吃蛇大作战小游戏,供大家参考。 效果展示效果展示一、游戏界面二、得分情况&nb
- 异常分类可查的异常(checked exceptions):Exception下除了RuntimeException外的异常不可查的异常(u
- yml 文件规则yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。不支持tab缩进可以使用 "-
- 目录 * 仓库的配置1、 下载sonatype Nexus来搭建 * 2 安装nexus服务3、创建 * 仓库4、配置 * 信息中央仓库的配置三个仓
- 本文是基于springboot完成测试测试代码地址如下:https://github.com/Dr-Water/springboot-act
- 正确使用并行流,避免共享可变状态错用并行流而产生错误的首要原因,就是使用的算法改变了某些共享状态。下面是另一种实现对前n个自然数求和的方法,
- 使用自定义注解实现接口限流在高并发系统中,保护系统的三种方式分别为:缓存,降级和限流。限流的目的是通过对并发访问请求进行限速或者一个时间窗口
- 面试中可能会被问到为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?Java 创建线程的方法实际
- 我的电脑环境win10vscode 1.36.1vscode安装插件安装完这个插件后会提示你安装 platformIOCore,按照提示安装
- ES是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index)有点类似,都是基于分词和分
- 本文实例讲述了java实现List中对象排序的方法。分享给大家供大家参考,具体如下:package com.test; import jav