Nacos安装与配置

柔情只为你懂 2023-02-14 02:09 355阅读 0赞

文章目录

  • 1、简介
  • 2、Nacos
    • 2.1下载
    • 2.2 注册中心
    • 2.3 配置中心
    • 2.4配置中心细节
  • 3、远程调用Feign

【笔记于学习尚硅谷课程所作】

1、简介

在这里插入图片描述
 Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过Spring Cloud编程模型轻松使用这些组件来开发分布式应用服务。

 依托Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将Spring Cloud应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

结合SpringCloud Alibaba我们最终的技术搭配方案:

  • SpringCloud Alibaba-Nacos:注册中心(服务发现/注册)
  • SpringCloud Alibaba-Nacos:配置中心(动态配置管理)
  • SpringCloud-Ribbon:负载均衡
  • SpringCloud-Feign:声明式HTTP客户端(调用远程服务)
  • SpringCloud Alibaba-Sentinel:服务容错(限流、降级、熔断)
  • SpringCloud-Gateway:API 网关(webflux 编程模式)
  • SpringCloud-Sleuth:调用链监控
  • SpringCloud Alibaba-Seata:原Feescar, 即分布式事务解决方案

在gulimall-common项目的pom.xml中引入spring-cloud-alibaba-dependencies

  1. <dependencyManagement>
  2. <dependencies>
  3. <dependency>
  4. <groupId>com.alibaba.cloud</groupId>
  5. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  6. <version>2.2.1.RELEASE</version>
  7. <type>pom</type>
  8. <scope>import</scope>
  9. </dependency>
  10. </dependencies>
  11. </dependencyManagement>

2、Nacos

2.1下载

1.下载nacos-server:https://github.com/alibaba/nacos/releases

2.启动nacos-server(启动bin中的startup.cmd)

3.访问 http://localhost:8848/nacos/

4.使用默认的nacos/nacos登陆

2.2 注册中心

1.在common项目中导入依赖

  1. <!--服务注册/发现-->
  2. <dependency>
  3. <groupId>com.alibaba.cloud</groupId>
  4. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  5. </dependency>

2.在项目中配置application.yml

  1. application:
  2. name: gulimall-coupon
  3. cloud:
  4. nacos:
  5. discovery:
  6. server-addr: 127.0.0.1:8848

3.启动类添加注解@EnableDiscoveryClient

2.3 配置中心

1…在common项目中导入依赖

  1. <!--配置中心来做配置管理-->
  2. <dependency>
  3. <groupId>com.alibaba.cloud</groupId>
  4. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  5. </dependency>

2.在resources目录下添加配置文件bootstrap.properties

  1. spring.application.name=gulimall-coupon
  2. spring.cloud.nacos.config.server-addr=127.0.0.1:8848

3.在配置中心添加gulimall-coupon.properties,可在里面实时更改配置

4.在调用属性的controller上添加@RefreshScope:动态获取和刷新,@Value(“${配置项名}“):获取配置

5.优先使用配置中心的配置

2.4配置中心细节

  • 命名空间:配置隔离,默认public(保留空间)
  • 配置集:所有的配置的集合
  • 配置集id:Data ID
  • 配置分组:默认所有的配置集都属于:DEFAULT_GROUP

本次项目:每个微服务创建自己的命名空间,使用配置分组区分环境

3、远程调用Feign

1.引入feign的依赖(快速搭建项目时引入过)

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-openfeign</artifactId>
  4. </dependency>

2.单独创建一个包feign,在包内声明接口,告诉SpringCloud这个接口需要调用远程服务

3.声明接口的每个方法都是调用的远程服务的哪个请求

  1. @FeignClient("gulimall-coupon")
  2. public interface CouponFeignService {
  3. @RequestMapping("/coupon/coupon/t")
  4. public R t();
  5. }

4.开启远程调用的注解:@EnableFeignClients(basePackages = “com.hanhan.gulimall.coupon.feign”)

发表评论

表情:
评论列表 (有 0 条评论,355人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nacos安装启动

    前言 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计,Nacos基本上支持现在所有类型的服务,例如,Dubbo / gRPC服务