发布时间:2022-11-18 文章分类:编程知识 投稿人:李佳 字号: 默认 | | 超大 打印

一:下载nacos

  打开github搜索nacos,选择历史版本,建议下载1.4版本的,较稳定

  https://github.com/alibaba/nacos

  nacos的使用

  nacos的使用

  nacos的使用

二:下载完后解压文件,两种方式打开

  1:双击启动  

  nacos的使用

  2:命令行启动

  bin文件目录下进入终端,输入:startup.cmd -m standalone

  3:启动成功后:

  nacos的使用

  浏览器输入提供的网址就能进入到nacos的控制面板了,然后输入账号密码,默认都是nacos

  nacos的使用

  nacos的使用

  至此,我们的nacos的配置就到这里结束了!

三:把服务注册到nacos

  1:首先在项目中引路我们的配置文件(父项目子项目都要引入)

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

  2:配置子服务的yaml文件

spring:
  application:
    name: userservice #user的服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos服务地址

  3:启动服务,刷新nacos控制面板

  nacos的使用

  至此,我们的注册服务就到此结束了,使用起来的话跟Eureka是一样的

四:扩展,配置集群

  1:在yaml文件中添加以下代码(cluster-name是集群名称,自定义)

spring:
  application:
    name: userservice #user的服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos服务地址
      discovery:
        cluster-name: JX

  2:重新启动服务,刷新nacos

  nacos的使用

  3:配置nacos优先匹配相同集群名称进行服务调用,配置规则

#Nacos配置规则(优先选择本地集群,本地集群挂掉后才会选择其他集群,但是日志会提示开发人员,这样就可以重新启动那个挂掉的服务)
userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #负载均衡规则

  

  4:至此我们远程调用服务,就会优先调用集群名称相同的服务,除法项目名称的服务挂掉了,才会去调用其他服务来完成业务需求

五:扩展,权重

  1:可以修改我们的服务权重来控制远程调用服务的频率

  nacos的使用

  2:默认是1,假设我们有两个实例的服务AB,A服务机器老化较慢,B比较新,速度快,那么我们可以把A服务的权重调低

  这样,调取服务时,就会大概率调用B服务

  我们也可以把权重设置为0,这样就不会调用该服务