posts - 206,  comments - 26,  views - 17万
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

一、Nacos环境隔离
Nacos提供了namespace来实现环境隔离功能。

 

 

nacos中可以有多个namespace。namespace下可以有group、service等。不同namespace之间相互隔离,例如不同namespace的服务互相不可见。

使用Nacos Namespace 环境隔离 步骤:

1.在Nacos控制台可以创建namespace,用来隔离不同环境
2.然后填写一个新的命名空间信息:
3.保存后会在控制台看到这个命名空间的id: 默认为public
4.修改order-service的application.yml,添加namespace:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ
        namespace: 492a7d5d-237b-46a1-a99a-fa8e98e4b0f9 # 命名空间,填ID

 

5.重启order-service后,再来查看控制台:
6.此时访问order-service,因为namespace不同,会导致找不到userservice,控制台会报错:

二、Nacos与Eureka的区别

Nacos与eureka的共同点:
都支持服务注册和服务拉取
都支持服务提供者心跳方式做健康检测


Nacos与Eureka的区别:


Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
临时实例心跳不正常会被剔除,非临时实例则不会被剔除
Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

 

 

Nacos的服务实例分为两种l类型:

-临时实例:如果实例宕机超过一定时间,会从服务列表剔除,默认的类型。

-非临时实例:如果实例宕机,不会从服务列表剔除,也可以叫永久实例。

服务注册到Nacos时,可以选择注册为临时或非临时实例,临时实例宕机时,会从nacos的服务列表中剔除,而非临时实例则不会 。通过下面的配置来设置:

spring:
  cloud:
    nacos:
      discovery:
        ephemeral: false # 设置为非临时实例

 

posted on   努力--坚持  阅读(27)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
历史上的今天:
2018-10-13 .Net 数据访问层之ORM框架EF简介
点击右上角即可分享
微信分享提示