Springcloud-nacos实现配置和注册中心的方法

 更新时间:2019年07月05日 11:52:33   作者:wotrd  
这篇文章主要介绍了Springcloud-nacos实现配置和注册中心的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

最近,阿里开源的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)学会看源码,看维基。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot入门(web+freemarker)

    Spring Boot入门(web+freemarker)

    这篇文章主要介绍了Spring Boot入门(web+freemarker)的相关资料,需要的朋友可以参考下
    2017-06-06
  • Java求1+2!+3!+...+20!的和的代码

    Java求1+2!+3!+...+20!的和的代码

    这篇文章主要介绍了Java求1+2!+3!+...+20!的和的代码,需要的朋友可以参考下
    2017-02-02
  • 详解Java ThreadPoolExecutor的拒绝策略

    详解Java ThreadPoolExecutor的拒绝策略

    这篇文章主要介绍了Java ThreadPoolExecutor的拒绝策略,本文对于线程的池的几种策略进行详细的讲解,在实际的生产中需要集合相关的场景来选择合适的拒绝策略,需要的朋友可以参考下
    2022-08-08
  • Java中树的存储结构实现示例代码

    Java中树的存储结构实现示例代码

    本篇文章主要介绍了Java中树的存储结构实现示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Springboot详解线程池与多线程及阻塞队列的应用详解

    Springboot详解线程池与多线程及阻塞队列的应用详解

    本例应用线程池、多线程、阻塞队列处理一个流程任务。本例处理一个订单流程,主要包括生成订单、订单处理、订单入库,下面我们一起看看
    2022-06-06
  • Spring框架的ImportSelector详细解读

    Spring框架的ImportSelector详细解读

    这篇文章主要介绍了Spring框架的ImportSelector详细解读,Spring中一个非常重要的注解@Import中的ImportSelector接口的作用以及它到底有啥作用,也会捎带一部分源码说一下DeferredImportSelector是干啥的,需要的朋友可以参考下
    2024-01-01
  • 详解Feign的实现原理

    详解Feign的实现原理

    Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API
    2021-06-06
  • Java实现根据模板自动生成新的PPT

    Java实现根据模板自动生成新的PPT

    这篇文章主要介绍了如何利用Java代码自动生成PPT,具体就是查询数据库数据,然后根据模板文件(PPT),将数据库数据与模板文件(PPT),进行组合一下,生成新的PPT文件。感兴趣的可以了解一下
    2022-02-02
  • Java反射的使用和原理详解

    Java反射的使用和原理详解

    这篇文章主要介绍了Java反射的使用和原理详解,反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作,需要的朋友可以参考下
    2024-01-01
  • java实现简单发送邮件功能

    java实现简单发送邮件功能

    这篇文章主要为大家详细介绍了java实现简单发送邮件功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论