当前位置:网站首页 > 微服务架构 > 正文

微服务配置中心选型(微服务配置中心nacos)




  来源 | HelloGitHub(ID:Github520)

  头图 | CSDN 下载自东方IC

项目源码地址:https://github.com/alibaba/nacos

  项目介绍

  在选择使用一个工具之前,我们先大概了解一下它的同类型产品,这样更能看出它的价值。

  名称 配置中心 注册中心 依赖 访问协议 版本迭代 集成支持 上手程度 Eureka 不支持 支持 依赖ZooKeeper HTTP 无版本升级 SpringCloud集成 容易,英文界面,不符合国人习惯 Consul 支持 支持 不依赖其他组件 HTTP/DNS 版本迭代中 SpringCloud、K8S 复杂,英文界面,不符合国人习惯 Nacos 支持 支持 不依赖其他组件 HTTP/动态DNS/UDP 版本迭代中 Dubbo、SpringCloud、K8S 极易,中文文档和社区,符合国人习惯

  三大注册中心

  提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。主要特性:

  服务发现:支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的 Agent TODO 注册 Service 后,服务消费者可以使用 DNS TODO 或 HTTP&API 查找和发现服务。

  服务健康监测:提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。

  动态配置服务:动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。

  动态 DNS 服务:动态 DNS 服务支持权重路由,使用者更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。

  服务及其元数据管理:Nacos 能让使用者从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。


  Nacos 生态图

  SpringBoot 实战

  Nacos 主要的功能有配置中心和注册中心。

  配置中心:通过在 Nacos 上配置用户名,在不重启微服务的情况下实现动态获取配置信息功能。

  注册中心:创建两个微服务:服务提供者和服务消费者,实现微服务间调用。消费者要调用提供者的接口,只需要声明提供者的微服务名称和接口的请求地址,Nacos 就可准确的找到到对应的接口。

  一、运行 Nacos

  下载地址:https://github.com/alibaba/nacos/releases

  

  访问首页

  Nacos 的访问地址:http://localhost:8848/nacos/

  默认账号密码:nacos nacos

  页面截图如下:


  二、配置中心

  1、创建微服务项目

  创建 SpringBoot 项目主要有三种方式:通过网站创建,IntelliJ IDEA 的 Spring Initializr 工具创建,Maven 创建项目形式创建。

  项目的pom 文件内容如下:

  

  2、bootstrap.yml 配置

  

  3、Nacos 配置

  Nacos 上创建配置文件名称格式:${prefix}-${spring.profile.active}.${file-extension},如上一步bootstrap.yml的配置可知,我要创建的配置名为:nacos-config-dev.yaml,内容如下:


  4、创建 Controller

  动态获取用户名称的功能为例:

  创建一个对外接口 /username 代码如下:

  

  注意:Controller 上要添加 @RefreshScope注解 它实现了配置的热加载。

  5、验证结果

  本地运行项目,可以看到项目的启动时,端口已变为我们在 Nacos 上配置的端口8090。


  三、注册中心

  创建服务提供者

  创建微服务可参上面配置中心的创建方式,创建对外接口 /sayHello 代码如下:

  

  启动服务,访问地址:http://localhost:8099/sayHello,可输出:tom say: helloWord,表示微服务已创建成功。

  创建服务消费者

  这里采用 FeignClient 的方式实现跨服务间调用(有兴趣的同学也可以研究一下RestTemplate的方式)。

  pom 文件

  在 nacos-consumer 的 pom 文件要添加 Feigin-Client 的 maven 依赖。

  

  添加注解

  在微服务启动类 *Application.java 添加注解 @EnableFeignClients。

  创建 FeignClient

  

  说明:FeignClient 注解传入的 name ,指定 FeignClient 的名称,如果项目使用了 Ribbon,name 属性会作为微服务的名称,用于服务发现。

  创建 ConsumerController

  

  重启工程,在浏览器上访问 http://localhost:8090/hi-feign,可以在浏览器上展示正确的响应,这时 nacos-consumer 调用 nacos-provider 服务成功。

  下面一张请求流转的时序图,这样理解清晰一些。


  最后

  微服务有四大特点:

  小(微服务粒度小)

  独(独立部署运行和扩展)

  轻(系统简洁轻量化)

  松(高内聚低耦合)

  要完成一个复杂系统往往需要很多微服务单元,而衔接每个微服务,完成微服务的统一管理就非常有必要,所以集成服务管理中心和配置中心的产品就的就应运而生,而 Nacos 是其中的佼佼者!

到此这篇微服务配置中心选型(微服务配置中心nacos)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • nfs文件服务器的作用(服务器nfs设置)2026-02-24 21:09:10
  • 企业微信突然定位失败(企业微信定位失败,在哪里打开定位)2026-02-24 21:09:10
  • git 文件服务器(git服务器上看不到文件源码)2026-02-24 21:09:10
  • 国内版github(微软bing国内版)2026-02-24 21:09:10
  • 微信好玩的代码MC(微信好玩的代码游戏)2026-02-24 21:09:10
  • git的服务器(git服务器的作用)2026-02-24 21:09:10
  • 微信hook机器人登陆掉线(微信机器人 hook)2026-02-24 21:09:10
  • 微信小程序制作平台(微信小程序制作平台官方)2026-02-24 21:09:10
  • 微信linux更新(linux 更新)2026-02-24 21:09:10
  • samba文件共享服务(samba文件共享服务配置)2026-02-24 21:09:10
  • 全屏图片