Nacos服务分级存储模型、集群、负载均衡

服务分级存储模型

服务:开发子模块(相当于Object)

实例:启动子模块(相当于new Object)

Nacos服务分级存储模型、集群、负载均衡

在没有服务分级存储模型之间,假设所有的实例都在一个服务器机房中,如果服务器机房出现问题,整个服务就无法使用,再来看服务分级存储模型就会有一个直观的认识,服务分级存储模型目的是为了容灾,其思想就是将实例分散到不同区域的服务器上。

Nacos服务分级存储模型、集群、负载均衡

集群

配置服务集群属性

spring.cloud.nacos.discovery.cluster-name: SH # 配置集群名称,也就是机房位置,例如:SH,上海

 启动

Nacos服务分级存储模型、集群、负载均衡

查看服务详情

Nacos服务分级存储模型、集群、负载均衡

Nacos服务分级存储模型、集群、负载均衡

 

 

UserService服务集群已经配置完成,现在需要OrderService服务优先访问本地UserService服务集群,那么就需要配置order-service模块的集群名

spring.cloud.nacos.discovery.cluster-name: SH # 配置集群名称,也就是机房位置,例如:SH,上海

启动

Nacos服务分级存储模型、集群、负载均衡

 

 

查看详情

Nacos服务分级存储模型、集群、负载均衡

配置成功

负载均衡

服务调用尽可能选择本地集群的服务,跨集群调用延迟较高

通过浏览器分别访问http://localhost:8082/order/101、http://localhost:8082/order/102、http://localhost:8082/order/103、http://localhost:8082/order/104

Nacos服务分级存储模型、集群、负载均衡

 

 

Nacos服务分级存储模型、集群、负载均衡

 

 

Nacos服务分级存储模型、集群、负载均衡

 

 

并没有按照我们想象的那么优先执行本地集群,而是根据轮巡的方式执行规则,执行规则是负载均衡的规则

指定负载均衡规则

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 

NacosRule规则:优先寻找同集群的实例,集群内多个实例通过随机方式进行负载均衡,本地集群不可访问时,再去访问其它集群

重启OrderService服务,清空控制台

Nacos服务分级存储模型、集群、负载均衡

 

再次访问http://localhost:8082/order/101、http://localhost:8082/order/102、http://localhost:8082/order/103、http://localhost:8082/order/104

Nacos服务分级存储模型、集群、负载均衡

 

Nacos服务分级存储模型、集群、负载均衡

 

Nacos服务分级存储模型、集群、负载均衡

 

本地集群不可访问时,再去访问其它集群

关闭HZ集群中的UserService实例

Nacos服务分级存储模型、集群、负载均衡

 

再次访问http://localhost:8082/order/101

Nacos服务分级存储模型、集群、负载均衡

 

上一篇:跨源资源共享(CORS)


下一篇:Nginx通过CORS实现跨域