• Nacos下载与安装


    Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

    下面就来安装Nacos并整合Nacos注册中心、配置中心

    版本说明

    根据官方提供的版本对应关系,下载对应版本的Nacos。

    下载

    nacos下载地址:https://github.com/alibaba/nacos/releases

    安装

    • 解压安装包

    • 打开配置文件(nacos安装目录 -> conf -> application.properties)

    • 修改数据源配置
      在这里插入图片描述

    • 在数据库中执行sql文件(nacos安装目录 -> conf -> nacos-mysql.sql)

    • 在nacos安装目录下的bin目录中运行命令,默认是集群模式启动,单机模式启动需要指定模式

      startup.cmd -m standalone

    通过修改nacos.core.auth.enabled为true,就可以开启nacos认证。开启后客户端必须配置username、password

    集群环境搭建

    • 将安装包复制多份

    • 配置数据源、伪集群需要配置端口

    • 将cluster.conf.example复制一份重命名cluster.conf(配置文件目录:nacos安装目录 -> conf)

    • 打开配置文件cluster.conf

    • 配置每个nacos服务的IP和端口
      在这里插入图片描述

    • 配置完成后启动nacos

      startup.cmd -m cluster

    Springcloud整合Nacos注册中心

    • 添加Maven依赖

      com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery
    • 添加application.yml配置

      spring:
      cloud:
      nacos:
      discovery:
      service: nacos-discovery # 默认取的是应用程序名称spring.application.name,配置了service就以service的值为准

          # 配置Nacos服务连接地址
          server-addr: localhost:8848
      
          # 配置服务所在命名空间,默认为public
          namespace: public
      
          # 配置服务所在组,默认的就是DEFAULT_GROUP
          group: DEFAULT_GROUP # 不支持不同分组的服务之间的调用
      	
      	# 开启nacos认证后需要配置用户名和密码
      	username: nacos # 用户名 
      	password: nacos # 密码
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    • 在SpringBoot启动类添加@EnableDiscoveryClient注解

      /**

      • @ClassName NacosApplication

      • @Description

      • @Author tigerkin

      • @Date 2022/3/2 15:51
        */
        @SpringBootApplication
        @EnableDiscoveryClient
        public class NacosApplication {

        public static void main(String[] args) {
        SpringApplication.run(NacosApplication.class, args);
        }
        }

    • 启动Springboot项目,服务就注册到Nacos了。

    nacos注册中心官方文档:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-discovery

    服务调用

    可以通过以下两种方式进行服务调用

    Springcloud整合Nacos配置中心

    • 添加Maven依赖

      com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.cloud spring-cloud-starter-bootstrap
    • 添加bootstrap.yml配置

      spring:
      application:
      name: nacos-config # 应用程序名称
      cloud:
      nacos:
      config:
      server-addr: localhost:8848
      namespace: public
      group: DEFAULt_GROUP
      # 配置文件扩展名,默认是通过内部相关规则(应用程序名称、扩展名 )自动生成相关的 Data Id 配置。
      # 自动生成的data-id为nacos-config.yaml
      file-extension: yaml

      	# 开启nacos认证后需要配置用户名和密码
      	username: nacos # 用户名 
      	password: nacos # 密码
      	
      	# 扩展配置:是一个数组,可以有多个
          extension-configs:
            # nacos配置中心配置dataId时最好加上文件名后缀
            # 如果不加后缀,在扩展配置和共享配置读取配置时会出现以前两种情况:
            # 1、在下方dataId中不加后缀读取配置时会默认以properties读取,如果文件是properties则没有问题,如果不是那么配置就读取不到了。
            # 2、在下方dataId中加上后缀那么在nacos配置中心就找不到对应dataId的配置。
            # 注:最好是nacos配置中心和代码中配置的dataId是带有后缀且是一致的。避免踩坑!!!!!!!!!!!!!
            - dataId: nacos-user-server.yaml
              group: USER_GROUP
              refresh: true
      
          # 共享配置:是一个数组,可以有多个,配置方式与扩展配置一模一样
          # 配置优先级:shared-configs < extension-configs < 默认
          # shared-configs:
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
    • 配置完成项目就可以读取nacos配置中的配置了

    通过注解@Value可以赋值nacos中的配置,在类上添加注解@RefreshScope,修改nacos中配置,通过注解注入的值就会实时刷新。
    在这里插入图片描述

    nacos配置中心官方文档:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    如何实现前端实时通信(WebSocket、Socket.io等)?
    设计模式-创建型模式(单例、工厂、建造、原型)
    连连看游戏页面网站源码
    蓝桥杯python组--基础训练---2、#一个数如果恰好等于它的因子之和,这个数就称为“完数”,;例如:6=1+2+3,找出1000以内的
    nodejs--开发自己的项目——5.2——个人中心模块——重置密码——设置的url:/my/updatepwd——post请求
    【BOOST C++容器专题03】【02】Boost.Bimap
    解析Spring Cloud面试的十道难题,帮你攻克技术关卡
    C语言:关键字----switch、case、default(开关语句)
    Intel Cyclone 10 GX 收发器的初步认识
    静态文件鉴权
  • 原文地址:https://blog.csdn.net/m0_67402235/article/details/126113669