六、Nacos快速入门

目录

一、服务注册到Nacos

二、nacos服务分级存储模型

1、作用

2、划分集群

3、根据权重负载均衡

三、环境隔离

1、在未设置namespace时,所有服务都默认在public

2、新建namespace

3、将order-service的namespace更改为dev

4、总结


一、服务注册到Nacos

1、将以下代码复制到父工程的pom文件下


            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2.2.5.RELEASE
                pom
                import
            

2、将以下代码复制到子工程的pom文件下



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery


3、更改子工程的yml文件,在spring下增加nacos的服务地址

六、Nacos快速入门_第1张图片

4、启动服务

六、Nacos快速入门_第2张图片

5、查看nacos,发现服务注册成功

六、Nacos快速入门_第3张图片

二、nacos服务分级存储模型

六、Nacos快速入门_第4张图片

1、作用

  • 服务调用尽可能选择本地集群的服务,跨集群调用延迟较高
  • 本地集群不可访问时,再去访问其它集群

当服务被注册时,它会有默认的集群,为default

六、Nacos快速入门_第5张图片

2、划分集群

(1)我们现在有如下三个实例

(2)我们要将1,2划分到HZ集群,首先就要在yml文件中增加如下代码

      discovery:
        cluster-name: HZ

六、Nacos快速入门_第6张图片

(3)然后启动服务1,2

(4)接下来讲服务3划分到SH集群,首先修改yml文件

六、Nacos快速入门_第7张图片

(5)启动服务3,并在Nacos中查看

六、Nacos快速入门_第8张图片

(6)将order也划分进入HZ集群,并且清空服务1,2,3的日志

六、Nacos快速入门_第9张图片

(7)使用get请求访问服务并查看

我们发现它并没有优先访问同集群的实例

所以,我们要在order的yml文件中修改负载均衡规则

NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

(8)重启order服务,并发送get请求

为此,我们可以看到服务1,2有访问,而服务3未被访问,所以优先访问了同集群的服务

(9)关闭服务1,2;并发送get请求

发现这次是服务3处理了这次请求,且有跨域访问的警告

3、根据权重负载均衡

(1)每个服务都有自己的权重

六、Nacos快速入门_第10张图片

(2)当我将某一机器的权重调整为0.1时,它的被访问量就是其它服务的十分之一

六、Nacos快速入门_第11张图片

(3)若权重设置为0,则该服务不能接收请求,这样就可以在用户无感知的情况下去做服务升级

六、Nacos快速入门_第12张图片

三、环境隔离

1、在未设置namespace时,所有服务都默认在public

六、Nacos快速入门_第13张图片

2、新建namespace

六、Nacos快速入门_第14张图片

生成了一个id

六、Nacos快速入门_第15张图片

3、将order-service的namespace更改为dev

(1)首先复制id

六、Nacos快速入门_第16张图片

(2)找到order的yml文件,并添加如下内容

六、Nacos快速入门_第17张图片

(3)重启order

六、Nacos快速入门_第18张图片

(4)查看dev空间的服务

六、Nacos快速入门_第19张图片

(5)且order以无法访问

六、Nacos快速入门_第20张图片

(6)所以,要让服务可以访问,就必须放在相同的环境下

4、总结

  1. 每个namespace都有唯一id
  2. 服务设置namespace时要写id而不是名称
  3. 不同namespace下的服务互相不可见

你可能感兴趣的:(微服务学习,java,服务器,微服务)