一、什么是nacos

英文全称Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。服务在nacos是一等公民

二、有了Eureka为啥还要用nacos?两者区别是什么?

具体可看这篇文章 很形象

三、下载安装

可参考里面的下载安装流程 比较简单

四、nacos原理


Nacos注册中心分为server与client,server采用Java编写,为client提供注册发现服务与配置服务。而client可以用多语言实现,client与微服务嵌套在一起,nacos提供sdk和openApi,如果没有sdk也可以根据openApi手动写服务注册与发现和配置拉取的逻辑
注册中心原理

配置中心原理

五、nacos使用

  1. 首先配置NameSpace

    如图所示,在控制台的 服务管理-命名空间-新建命名空间按钮可以创建新的命名空间,命名空间创建后,会在列表显示命名空间ID,这个ID后面会用在服务的配置文件中
  2. 在服务上配置注册、配置中心
    以springcloud为例,首先用maven导入nacos clinet的依赖:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>0.2.1.RELEASE</version><exclusions><exclusion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>0.2.1.RELEASE</version><exclusions><exclusion><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId></exclusion></exclusions></dependency>

3.先导入springcloud的alibaba-nacos-config和alibaba-nacos-discovery两个依赖,这两个依赖是用于nacos clinet与cloud结合的工具,0.2.x对应springboot 2.x.x ,0.1.x对应springboot 1.x.x。这两个组件可以和各种版本的nacos-client结合。把其中的nacos-clinet依赖给排除,引入想要引入的nacosclinet版本,如下:

  <!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client --><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>1.0.1</version></dependency>

4.在bootstrap.properties上添加配置中心的配置

spring.cloud.nacos.config.server-addr=nacos.e.189.cn:80
spring.cloud.nacos.config.namespace=命名空间id

5.在application-xxx.properties新增如下配置

spring.cloud.nacos.discovery.server-addr=nacos.e.189.cn:80
spring.cloud.nacos.discovery.namespace=命名空间id

扩展:

如果springboot启动类没有@EnableDiscover注解则加上
完成如上更改,即可使用Nacos注册/配置服务

六、服务间feign调用

  1. 通过配置更改动态刷新参数
    普通application参数在配置中心直接配置皆可,如果需要可以动态刷新的配置,需要在相应类上加上@RefreshScope注解,示例如下,当在nacos配置中心更改配置后,方法getId的值也会刷新
@RefreshScope
public class IdEntity {@Value("${id}")private int id;public int getId(){return this.id;}
}

配置中心参数修改/设置
如下两张图:在nacos控制台的配置管理-配置列表中顶部选择相应的命名空间,点击列表右上角的加号新增配置,Data ID 为 项目名-{spring.profiles.active}.properties,Group如果在bootstrap.properties中不指定则填默认的DEFAULT_GROUP,描述写该配置的描述,配置内容填写Properties格式或者Yaml格式

七、nacos其他功能介绍与使用

控制台手动上下线实例
在控制台的服务管理-服务列表选择一个服务点击详情,在下方的集群列表可以看到有上线/下线按钮,点击即可以对该实例执行上线/下线操作,下线后的实例不会被请求

配置实例权重
可以通过手动配置权重来控制流量,当一个集群内两个实例,权重越高,到达该实例的请求比例越多

权重的初始值是1
配置保护阈值
保护阈值的范围是0~1
服务的健康比例=服务的健康实例/总实例个数
当服务健康比例<=保护阈值时候,无论实例健不健康都会返回给调用方
当服务健康比例>保护阈值的时候,只会返回健康实例给调用方
在服务管理-服务列表选择一个服务点击详情可以配置

总结

如果你使用nacos后和Eureka对比 你会发现nacos好像只用修改配置就可以替换Eureka 无缝支持SpringCloud 会直接注册成功 并且各个服务间是正常使用的 虽然只是单独的服务注册发现功能 但是却足够说明nacos天生就无缝衔接SpringCloud生态 当然所有东西有利必有弊

服务注册中心---服务发现nacos相关推荐

  1. 微服务2——服务的注册,调用(Nacos服务注册中心+服务调用+调用负载均衡)sca-comsumersca-provider

    一.Nacos的安装和构建  以及启动 其官网地址如下: Nacos官网 1.安装前提: 第一:确保你电脑已配置JAVA_HOME环境变量(Nacos启动时需要),例如: 第二:确保你的MySQL版本 ...

  2. 无敌的服务注册中心Spring CloudAlibaba Nacos不进来看一看吗?

    目录​​​​​​​ 1.Nacos概述 2.Nacos安装运行 安装 运行 3.Nacos作为服务注册中心 服务提供者order-service 服务消费者user-service 4.Nacos作为 ...

  3. 微服务架构-实现技术之三大关键要素1服务治理:服务注册中心+服务发布与注册+服务发现与调用+服务监控

    目录 一.服务注册中心:注册中心核心功能+实现策略 1.注册中心核心功能 2.注册中心实现策略 二.服务发布与注册 三.服务发现与调用 四.服务监控 基本思路:日志埋点 基本目标: 基本定位: 基本策 ...

  4. 理解nacos 服务治理(注册中心)、Nacos简介、下载与配置持久化到Mysql

    Nacos简介 什么是Nacos Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流且管理. Nacos帮助您更敏 ...

  5. 二、Nacos服务注册中心应用实践

    Nacos服务注册中心 文章目录 Nacos服务注册中心 一.Nacos服务注册中心 1. 注册中心简介 2. 构建Nacos服务 2.1 准备工作 2.2 下载与安装 2.3 初始化配置 3. 服务 ...

  6. 《微服务(一):微服务组件之服务注册中心》

    服务注册中心: Eureka Nacos Consul Zookeeper 文章目录 Eureka 服务注册与发现 一.搭建 Eureka 单点服务 1.搭建注册中心 实现步骤 注意事项 2.服务注册 ...

  7. eureka 之前的服务如何关闭_干货分享 | 服务注册中心Spring Cloud Eureka部分源码分析...

    友情提示:全文13000多文字,预计阅读时间10-15分钟 Spring Cloud Eureka作为常用的服务注册中心,我们有必要去了解其内在实现机制,这样出现问题的时候我们可以快速去定位问题.当我 ...

  8. java服务注册中心有哪些_Spring Cloud服务注册中心简述

    概念 当一个大型系统拥有很多服务时,往往需要一个服务注册中心来管理这些服务,它可以提供如下功能: 登记每个服务提供的功能 检测每个服务是否可用,不可用的服务剔除 服务间互相调用时,通过服务注册中心很容 ...

  9. eureka集群只注册一个_一、Spring Cloud Eureka服务注册中心

    Sping boot Eureka是服务中心,管理各种服务功能包括服务的注册.发现.熔断.负载.降级等.Spring Cloud Eureka 是对Netflix公司的Eureka的二次封装. 在du ...

  10. Spring Cloud Alibaba教程:使用Nacos作为服务注册中心

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 什么是Nacos? Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易 ...

最新文章

  1. 国产系统安装安卓应用教程
  2. python3 发送邮件
  3. 沟通无国界,云信助力译牛构建远程会议同传新模式
  4. 中国地质大学c语言程序设计答案,2016年中国地质大学(北京)信息工程学院C语言程序设计(同等学力加试)考研复试题库...
  5. windows下nc(netcat)的安装及使用
  6. [JetBrains Rider] 在保存文件时自动更新文件头的方法
  7. 【英语学习】【WOTD】teem 释义/词源/示例
  8. python 抽奖器_兄弟连学python (02) ----简易抽奖器
  9. python爬取邮件内容_登陆邮箱 爬取邮件
  10. java怎么从大到小排序元祖_列表、元祖的操作
  11. 腾讯225页报告:AI正取代互联网成为新引擎,马化腾提七大关键词
  12. java中的IO流之文件复制
  13. 如何排查即时通讯互动开发平台AnyChat的故障信息
  14. 《MATLAB图像处理375例》——1.3 MATLAB概述
  15. nginx + tomcat配置负载均衡
  16. 点扩散函数 PSF(point spread function)
  17. 银河战舰服务器无响应,银河战舰帝国起源
  18. 从删库到恢复到跑不了路-数据恢复工程师解说顺丰删库事件
  19. 你的善良必须有点锋芒
  20. 宏录制流程——例:生成工资条

热门文章

  1. Java Bitwise Operators
  2. 一些代码规范(收集)
  3. SpringBoot笔记7:使用JavaMail结合RabbitMQ发送邮件
  4. 常用排序算法(六)——希尔排序
  5. Oracle Tablespace Transportation
  6. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEM...
  7. extjs修改页面的内容关键问题
  8. 1.Shell 编程从入门到精通 --- 第一个 Shell 程序
  9. 24. Element namespaceURI 属性
  10. 河南计算机考试照片要求,2020年河南地区国考照片处理工具使用流程详解(2)