一、注册中心------环境隔离

nacos提供了一个默认的namespace,叫做public:

我们可以通过以下方法创建自己的namespace:


添加完成后,可以在页面看到我们新建的namespace,并且Nacos为我们自动生成了一个命名空间id:

默认情况下,所有的微服务注册发现、配置管理都是走public这个命名空间。如果要指定命名空间则需要修改application.yml文件。
比如,我们修改item-service服务的bootstrap.yml文件,添加服务发现配置,指定其namespace:
TypeScript
spring:
application:
name: item-service # 服务名称
profiles:
active: dev
cloud:
nacos:
server-addr: 192.168.150.101 # nacos地址
discovery: # 服务发现配置
namespace: 8c468c63-b650-48da-a632-311c75e6d235 # 设置namespace,必须用id
# 。。。略


二、服务分级模型:

因此,结合我们上一节学习的namespace命名空间的知识,任何一个微服务的实例在注册到Nacos时,都会生成以下几个信息,用来确认当前实例的身份,从外到内依次是:
-
namespace:命名空间
-
group:分组
-
service:服务名
-
cluster:集群
-
instance:实例,包含ip和端口
这就是nacos中的服务分级模型。
在Nacos内部会有一个服务实例的注册表,是基于Map实现的,其结构与分级模型的对应关系如下:

三、Eureka与Nacos


四、远程调用-源码跟踪及负载均衡原理


切换负载均衡算法:



五、服务保护
线程隔离:


滑动窗口算法:


漏桶算法:


令牌桶算法:

