目录

1.什么是nacos

2.使用——依赖+配置文件

3.Nacos服务分级存储模型

4.服务跨集群调用问题

5.服务集群属性--配置服务集群

6. Nacos-NacosRule负载均衡

7.根据权重进行负载均衡

8.环境隔离——namespace

9.比较Nacos和Eureka


1.什么是nacos

Nacos 英文全称Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心,是阿里巴巴的产品 相较于Eureka也是SpringCloud中的一个组件 但是比Eureka功能更加丰富 ,国内更受欢迎。

2.使用——依赖+配置文件

# 引用nacos依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
#配置文件
spring:
cloud:
nacos:
server-addr: localhost:8848 #nacos服务器地址+端口号 本例以本地启动为例

3.Nacos服务分级存储模型

4.服务跨集群调用问题

原则:服务调用极可能选择本地集群的服务,跨集群调用延迟较高,本地集群不可访问时,再去访问其他集群

5.服务集群属性--配置服务集群

1.修改配置文件

spring :
cloud :
nacos :
server-addr : localhost : 8848 #nacos 服务端地址
discovery :
cluster-name : BJ #配置集群名称 也就是机房位置 例如 BJ 北京

6. Nacos-NacosRule负载均衡

上面说了将同集群的服务设置在同一集群下是为了进行内网间调用 但是默认情况下进行服务调用的时候并不会默认调用同一集群下的服务。

如何设置:

在配置文件中设置IRule为NacosRule,这个规则会优先寻找自己同集群的服务:

#服务名
service :
ribbon :
NFLoadBalanceRuleClassName: com.albaba.cloud.nacos.ribbon.NacosRule
# NFLoadBalanceRuleClassName类名 将这个类设置成NacosRule 优先选择本集群 当本集群并没有服务时 会自动进行跨集群访问 并在日志中发出警告

7.根据权重进行负载均衡

解决的问题:当服务器设备性能有差异,部分实例所在的机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求————————权重越大 访问频率越高

8.环境隔离——namespace

Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离

如何配置环境隔离

命名空间——>新建命名空间——>添加命名空间名、描述——>在配置文件中配置(namespace(填写的是命名空间ID))

cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: BJ #北京
namespace: 5e585f47-4dae-45c6-8626-fc7b699d6046 # 命名空间 ID

9.比较Nacos和Eureka

1. Nacos与 eureka的共同点

①都支持服务注册和服务拉取

②都支持服务提供者心跳方式做健康检测

2. Nacos与 Eureka的区别

① Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式

②临时实例心跳不正常会被剔除,非临时实例则不会被剔除

③ Nacos支持服务列表变更的消息推送模式,服务列表更新更及时

④ Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式; Eureka采用AP方式

1 代表为nacos中与Eureka中不同的地方

如何设置临时实例与非临时实例 ephemeral 默认为true 临时实例

spring:
cloud:
nacos:
discovery:
ephemeral: false #设置为非临时实例 当服务挂掉并不会从列表中剔除服务

最新文章

  1. JavaScript之旅(三)
  2. 【C#进阶系列】18 特性Attribute
  3. yum命令安装mysql
  4. 学海无涯的整理Ing..........
  5. treap codevs 4543普通平衡树
  6. Spring boot配合Spring session(redis)遇到的错误
  7. NetBeans IDE 7.4 Beta版本build JavaFX时生成的可执行jar包执行时找不到依赖的jar包
  8. 写作技巧--Simile明喻
  9. 练习--LINUX进程间通信之信号SIGNAL
  10. 简单html以及css的用法
  11. 字符串和整形数组的相互转化(JAVA程序)
  12. CF154D. Flatland Fencing [博弈论 对称 平局]
  13. WebRequestHelper
  14. python学习日记(面向对象——继承)
  15. SpringBoot系列三:SpringBoot自定义Starter
  16. Scrapy的使用
  17. 线程中的setDaemon方法
  18. Linux C 读取文件夹下所有文件(包括子文件夹)的文件名【转】
  19. (后端)excel设置日期格式的步骤
  20. [vb.net]控制台进度条的示例

热门文章

  1. 【HTML】标签
  2. win10的docker配置nginx
  3. java 后台通过IO流把文件传到前端并下载
  4. Codeforces 1383C - String Transformation 2(找性质+状压 dp)
  5. 洛谷 P6177 - Count on a tree II/【模板】树分块(树分块)
  6. BZOJ 4556 [HEOI2016/TJOI2016]字符串
  7. Unique Path AGC 038 D
  8. CF1542E2 Abnormal Permutation Pairs (hard version)
  9. nginx 文件目录页面
  10. centos下Spin Version 6.3.2及ispin安装(2014.9.17)