摘要:实现配置和注册中心最近,阿里开源的比较火,可以和和共用,对升级到非常的方便。只需要添加依赖,使用配置注册中心地址即可。配置不生效,没有使用注解刷新配置分清注册中心和配置中心是两个概念,需要配置两个地址学会看源码,看维基。
Springcloud-nacos实现配置和注册中心
最近,阿里开源的nacos比较火,可以和springcloud和dubbo共用,对dubbo升级到springcloud非常的方便。这里学习一下他的配置和注册中心。我主要记录一下它的使用方式和踩得坑。
nacos简单介绍Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
以上是从nacos官网摘抄下来的,总结一下nacos有以下有点几个优点:
(1)它支持配置中心管理(含图形化界面)
(2)部署交付简单
(3)包含注册中心,不用独自搭建配置和注册中心。
(4)完美集成spring cloud和dubbo拓展性好
(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
完成,集群高可用请自行研究,本文不过多赘述。
springcloud使用nacos作为配置中心特别简单。只需要添加依赖,使用bootstrap配置注册中心地址即可。
(1)添加nacos的配置中心依赖
(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配置成功后,我们只需要添加依赖,注解,配置注册中心地址即可。
(1)添加依赖
(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
完成,就是这样简单。
下面是我遇到的一些问题:
(1)使用版本管理,学习新项目我们首先需要了解版本兼容特性,不然会出现很多问题。
(2)配置不生效,没有使用@RefreshCode注解刷新配置
(3)分清注册中心和配置中心是两个概念,需要配置两个地址
(4)学会看源码,看维基。
未完待续,接下来会写服务发现feign和springdataflow相关话题。有问题请留言。
个人博客原文地址: https://blog.ailijie.top/arch...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/75153.html
摘要:服务续约在服务注册完成之后,服务提供者需要维护一个心跳来告知注册中心服务实例处于正常运行状态中,防止注册中心将正常的服务实例剔除出注册中心。 Spring Cloud Eureka 目录 前言 构建服务注册中心 服务注册与发现 Eureka的基础架构 Eureka的服务治理机制 Eureka的配置 代码地址 前言 服务治理 随着微服务应用的不断增加,静态配置会越来越难以维护,并且...
摘要:是一个相对比较新的微服务框架,年才推出的版本虽然时间最短但是相比等框架提供的全套的分布式系统解决方案。提供线程池不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务器雪崩的问题。通过互相注册的方式来进行消息同步和保证高可用。 Spring Cloud 是一个相对比较新的微服务框架,...
摘要:统计服务的调用次调和调用时间的监控中心。调用关系说明服务容器负责启动,加载,运行服务提供者。服务提供者在启动时,向注册中心注册自己提供的服务。调度中心基于访问压力自动增减服务提供者。 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。showImg(https://segmentfau...
摘要:口服务的负载均衡。服务的注册与发现接口管理服务注册是指向服务注册中心注册一个服务实例,服务提供者将自己的服务信息如服务名地址等告知服务注册中心。服务注册中心会提供服务的健康检查方案,检查被注册的服务是否可用。服务降级的功能。 微服务具有以下的特点。 口 按照业务来划分服务,单个服务代码量小,业务单一,易于维护。 口 每个微服务都有自己独立的基础组件,例如数据库、 缓存等,且运行在独立...
摘要:启动容器,加载,运行服务提供者。服务提供者在启动时,在注册中心发布注册自己提供的服务。注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 一 为什么需要 dubbo 很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对...
阅读 3765·2021-11-12 10:34
阅读 2795·2021-09-22 15:14
阅读 763·2019-08-30 15:53
阅读 3164·2019-08-30 12:53
阅读 1260·2019-08-29 18:32
阅读 2740·2019-08-29 16:41
阅读 1042·2019-08-26 13:40
阅读 1774·2019-08-23 18:07