一文带你了解Thrift,一个可伸缩的跨语言RPC框架

使用Nacos作为微服务注册中心和配置中心

一、技术简介

Nacos是阿里系开发的兼容Spring Cloud的服务注册中心组件,是微服务国产化的先驱。Nacos作为与Eureka的对比,不仅具有Eureka固有的集群化、注册中心等功能,还具有配置中心的功能,并且更加简单使用,拆箱即用,也支持二次开发。

并且在集成Spring Cloud大家族生态圈方面,原先经由Eureka开发的Feign、Ribbon、Zuul等程序,业务部分无需经过太多修改,可直接在Nacos环境下使用。

此外,与Spring Cloud Consul相比,Nacos具有简捷、轻量级的特点,本文将重点讲解Nacos作为微服务注册中心和配置中心的功能使用说明。

二、技术版本

本文采用的Spring Boot版本是2.1.0.RELEASE

使用Nacos作为微服务注册中心和配置中心

采用的Spring Cloud版本是Greenwich.SR2

使用Nacos作为微服务注册中心和配置中心

使用Nacos作为微服务注册中心和配置中心

采用的Spring Alibaba Cloud版本是0.9.0.RELEASE

使用Nacos作为微服务注册中心和配置中心

使用Nacos作为微服务注册中心和配置中心

三、安装并运行Nacos

从官网下载Nacos版本,笔者下载的Nacos版本是nacos-server-1.2.0-SNAPSHOT

使用Nacos作为微服务注册中心和配置中心

在Windows环境下直接运行startup.cmd

使用Nacos作为微服务注册中心和配置中心

启动成功之后Nacos控制台提示:

使用Nacos作为微服务注册中心和配置中心

打开浏览器运行http://localhost:8848/nacos

使用Nacos作为微服务注册中心和配置中心

启动成功

四、注册Feign应用到Nacos注册中心

Spring Cloud服务端添加spring-cloud-starter-alibaba-nacos-discovery组件

使用Nacos作为微服务注册中心和配置中心

对应的Spring Cloud和Spring Alibaba Cloud配置

使用Nacos作为微服务注册中心和配置中心

其配置文件bootstrap.ym;如下:

使用Nacos作为微服务注册中心和配置中心

Nacos服务注册地址:

使用Nacos作为微服务注册中心和配置中心

服务待调用接口Controller:

使用Nacos作为微服务注册中心和配置中心

Spring Cloud服务端主启动类添加@EnableDiscoveryClient注册进Nacos

使用Nacos作为微服务注册中心和配置中心

启动项目

使用Nacos作为微服务注册中心和配置中心

启动成功后,打开Nacos界面,服务列表

使用Nacos作为微服务注册中心和配置中心

表示已经注册到注册中心。

Spring Cloud客户端Maven配置也如下:

使用Nacos作为微服务注册中心和配置中心

使用Nacos作为微服务注册中心和配置中心

对应的接口基工程

使用Nacos作为微服务注册中心和配置中心

基工程里面的接口

使用Nacos作为微服务注册中心和配置中心

Spring Cloud客户端的配置:

使用Nacos作为微服务注册中心和配置中心

连接到Nacos注册中心

开启断路器

使用Nacos作为微服务注册中心和配置中心

设置断路器相应的超时时间,10秒:

使用Nacos作为微服务注册中心和配置中心

Spring Cloud客户端指定Feign调用

使用Nacos作为微服务注册中心和配置中心

其中fallback=DemoFeignFallback.class表示断路器处理

使用Nacos作为微服务注册中心和配置中心

断路器处理逻辑

使用Nacos作为微服务注册中心和配置中心

进行了服务降级

Spring Cloud客户端服务调用的地方:

使用Nacos作为微服务注册中心和配置中心

Spring Cloud客户端主启动工程

使用Nacos作为微服务注册中心和配置中心

其中@EnableDiscoveryClient表示方便注册中心发现,@EnableFeignClients表示允许Feign客户端调用

启动Spring Cloud客户端

使用Nacos作为微服务注册中心和配置中心

在Nacos注册中心里面

使用Nacos作为微服务注册中心和配置中心

服务都已注册至注册中心

打开PostMan测试

使用Nacos作为微服务注册中心和配置中心

如此,Nacos作为微服务注册中心的例子已演示完毕。

五、Nacos作为配置中心

开启Nacos作为配置中心的Maven组件:spring-cloud-starter-alibaba-nacos-config

使用Nacos作为微服务注册中心和配置中心

配置文件bootstrap.yml指定配置中心地址:

使用Nacos作为微服务注册中心和配置中心

使用文件类型yaml格式的配置

项目工程名为demo-feign-freeservice

使用Nacos作为微服务注册中心和配置中心

其application.yml使用

使用Nacos作为微服务注册中心和配置中心

表示要使用Nacos配置中心为demo-feign-freeservice-dev.yaml的文件

在Nacos打开配置中心

使用Nacos作为微服务注册中心和配置中心

新增data id为demo-feign-freeservice-dev.yaml的文件

使用Nacos作为微服务注册中心和配置中心

指定配置格式为yaml

使用Nacos作为微服务注册中心和配置中心

配置内容

使用Nacos作为微服务注册中心和配置中心

在Controller层新增接口,指定服务级别@RefreshScope

使用Nacos作为微服务注册中心和配置中心

引入以上配置中心指定的${config.info}

使用Nacos作为微服务注册中心和配置中心

使用Nacos作为微服务注册中心和配置中心

接口里面引入配置

使用Nacos作为微服务注册中心和配置中心

并使用@GetMapping(\"/configInfo\")进行访问

启动项目,在浏览器输入http://localhost:8091/configInfo

如下

使用Nacos作为微服务注册中心和配置中心

表示读取到了配置结果

Nacos作为配置中心的讲解说明完毕

六、总结

Nacos作为注册中心是一款很好的服务发现组件,Nacos作为配置中心代替了固有的Spring Cloud Config组件。除此之外,Nacos作为配置中心,还能指定命名空间和分组,笔者后面会讲。

上一篇

看了这些明星的饮食习惯,你找到变胖的原因了吗

下一篇

JAVA技术总监为什么也会选错技术架构?

你也可能喜欢

  • 暂无相关文章!

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
返回顶部