SpringCloud学习笔记-Nacos的命名空间的配置

目录

  • 1.创建新的NameSpace
  • 2.给XXX-service配置NameSpace
  • 3.Nacos管理页面管理NameSpace
  • 4.Eureka和Nacos区别

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

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

SpringCloud学习笔记-Nacos的命名空间的配置_第1张图片

1.创建新的NameSpace

SpringCloud学习笔记-Nacos的命名空间的配置_第2张图片
根据CMD的Nacos提示的网址,登录进去Nacos管理页面
SpringCloud学习笔记-Nacos的命名空间的配置_第3张图片
填写相应NameSpace信息创建新的Namespace,NameSpaceID不填写则自动生成UUID.
SpringCloud学习笔记-Nacos的命名空间的配置_第4张图片

2.给XXX-service配置NameSpace

这里我举得例子有点不太好,但是大概原理都差不多,因为我之前创建过一个Dev的NameSpace,所以我这节内容就是以Dev的NameSpace来讲述了.
我的dev的NameSpaceID是ec8bc8aa-e8c4-4b02-aa4d-daa05797ae8e
所以我的直接再我的UserService里面配置namespace属性

SpringCloud学习笔记-Nacos的命名空间的配置_第5张图片

3.Nacos管理页面管理NameSpace

我的Order Service没有配置Namespace,默认分配到名字为public的namespace中
SpringCloud学习笔记-Nacos的命名空间的配置_第6张图片
我的User Service配置了dev的NameSpace,因此在dev里面能看见User Service

SpringCloud学习笔记-Nacos的命名空间的配置_第7张图片
因此本文通过配置不同的Namespace实现了服务之间的隔离!属于不同Namespace的服务互相是无法访问的!属于同一个Namespace的服务可以互相访问

4.Eureka和Nacos区别

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

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

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

配置一个服务实例为永久实例:

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

Nacos和Eureka整体结构类似,服务注册、服务拉取、心跳等待,但是也存在一些差异:

SpringCloud学习笔记-Nacos的命名空间的配置_第8张图片

  • Nacos与eureka的共同点

    • 都支持服务注册和服务拉取
    • 都支持服务提供者心跳方式做健康检测
  • Nacos与Eureka的区别

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

你可能感兴趣的:(Java,spring-,boot,spring,cloud,NameSpace,Nacos)