六、Nacos快速入门

目录

一、服务注册到Nacos

二、nacos服务分级存储模型

1、作用

2、划分集群

3、根据权重负载均衡

三、环境隔离

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

2、新建namespace

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

4、总结


一、服务注册到Nacos

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

复制代码
<!--            nacos依赖-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

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

复制代码
<!-- nacos客户端依赖包 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

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

4、启动服务

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

二、nacos服务分级存储模型

1、作用

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

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

2、划分集群

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

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

复制代码
      discovery:
        cluster-name: HZ

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

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

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

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

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

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

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

复制代码
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

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



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

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

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

3、根据权重负载均衡

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

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

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

三、环境隔离

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

2、新建namespace

生成了一个id

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

(1)首先复制id

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

(3)重启order

(4)查看dev空间的服务

(5)且order以无法访问

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

4、总结

  1. 每个namespace都有唯一id
  2. 服务设置namespace时要写id而不是名称
  3. 不同namespace下的服务互相不可见
相关推荐
Rain的Java大神之路17 分钟前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
江南风月44 分钟前
3分钟快速上手日志审计系统 WGLOG v2.2 更新了什么
运维·服务器·网络
2602_959960921 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题
Zane1994121 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
略略略咯咯1 小时前
AI玩具-study
java
Dawn-bit1 小时前
Linux网络进阶:TCP三次握手和四次挥手与TCP连接状态
linux·服务器·网络·tcp/ip·云计算·智能路由器
旗开得胜马到成功2 小时前
可信备份技术解析:中科热备如何防范备份数据被攻击
运维·服务器
TheBestRucy2 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
xier_ran2 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库