服务注册中心---服务发现nacos
一、什么是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使用
- 首先配置NameSpace
如图所示,在控制台的 服务管理-命名空间-新建命名空间按钮可以创建新的命名空间,命名空间创建后,会在列表显示命名空间ID,这个ID后面会用在服务的配置文件中 - 在服务上配置注册、配置中心
以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调用
- 通过配置更改动态刷新参数
普通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相关推荐
- 微服务2——服务的注册,调用(Nacos服务注册中心+服务调用+调用负载均衡)sca-comsumersca-provider
一.Nacos的安装和构建 以及启动 其官网地址如下: Nacos官网 1.安装前提: 第一:确保你电脑已配置JAVA_HOME环境变量(Nacos启动时需要),例如: 第二:确保你的MySQL版本 ...
- 无敌的服务注册中心Spring CloudAlibaba Nacos不进来看一看吗?
目录 1.Nacos概述 2.Nacos安装运行 安装 运行 3.Nacos作为服务注册中心 服务提供者order-service 服务消费者user-service 4.Nacos作为 ...
- 微服务架构-实现技术之三大关键要素1服务治理:服务注册中心+服务发布与注册+服务发现与调用+服务监控
目录 一.服务注册中心:注册中心核心功能+实现策略 1.注册中心核心功能 2.注册中心实现策略 二.服务发布与注册 三.服务发现与调用 四.服务监控 基本思路:日志埋点 基本目标: 基本定位: 基本策 ...
- 理解nacos 服务治理(注册中心)、Nacos简介、下载与配置持久化到Mysql
Nacos简介 什么是Nacos Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流且管理. Nacos帮助您更敏 ...
- 二、Nacos服务注册中心应用实践
Nacos服务注册中心 文章目录 Nacos服务注册中心 一.Nacos服务注册中心 1. 注册中心简介 2. 构建Nacos服务 2.1 准备工作 2.2 下载与安装 2.3 初始化配置 3. 服务 ...
- 《微服务(一):微服务组件之服务注册中心》
服务注册中心: Eureka Nacos Consul Zookeeper 文章目录 Eureka 服务注册与发现 一.搭建 Eureka 单点服务 1.搭建注册中心 实现步骤 注意事项 2.服务注册 ...
- eureka 之前的服务如何关闭_干货分享 | 服务注册中心Spring Cloud Eureka部分源码分析...
友情提示:全文13000多文字,预计阅读时间10-15分钟 Spring Cloud Eureka作为常用的服务注册中心,我们有必要去了解其内在实现机制,这样出现问题的时候我们可以快速去定位问题.当我 ...
- java服务注册中心有哪些_Spring Cloud服务注册中心简述
概念 当一个大型系统拥有很多服务时,往往需要一个服务注册中心来管理这些服务,它可以提供如下功能: 登记每个服务提供的功能 检测每个服务是否可用,不可用的服务剔除 服务间互相调用时,通过服务注册中心很容 ...
- eureka集群只注册一个_一、Spring Cloud Eureka服务注册中心
Sping boot Eureka是服务中心,管理各种服务功能包括服务的注册.发现.熔断.负载.降级等.Spring Cloud Eureka 是对Netflix公司的Eureka的二次封装. 在du ...
- Spring Cloud Alibaba教程:使用Nacos作为服务注册中心
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 什么是Nacos? Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易 ...
最新文章
- 国产系统安装安卓应用教程
- python3 发送邮件
- 沟通无国界,云信助力译牛构建远程会议同传新模式
- 中国地质大学c语言程序设计答案,2016年中国地质大学(北京)信息工程学院C语言程序设计(同等学力加试)考研复试题库...
- windows下nc(netcat)的安装及使用
- [JetBrains Rider] 在保存文件时自动更新文件头的方法
- 【英语学习】【WOTD】teem 释义/词源/示例
- python 抽奖器_兄弟连学python (02) ----简易抽奖器
- python爬取邮件内容_登陆邮箱 爬取邮件
- java怎么从大到小排序元祖_列表、元祖的操作
- 腾讯225页报告:AI正取代互联网成为新引擎,马化腾提七大关键词
- java中的IO流之文件复制
- 如何排查即时通讯互动开发平台AnyChat的故障信息
- 《MATLAB图像处理375例》——1.3 MATLAB概述
- nginx + tomcat配置负载均衡
- 点扩散函数 PSF(point spread function)
- 银河战舰服务器无响应,银河战舰帝国起源
- 从删库到恢复到跑不了路-数据恢复工程师解说顺丰删库事件
- 你的善良必须有点锋芒
- 宏录制流程——例:生成工资条
热门文章
- Java Bitwise Operators
- 一些代码规范(收集)
- SpringBoot笔记7:使用JavaMail结合RabbitMQ发送邮件
- 常用排序算法(六)——希尔排序
- Oracle Tablespace Transportation
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEM...
- extjs修改页面的内容关键问题
- 1.Shell 编程从入门到精通 --- 第一个 Shell 程序
- 24. Element namespaceURI 属性
- 河南计算机考试照片要求,2020年河南地区国考照片处理工具使用流程详解(2)