Nacos安装与配置
文章目录1、简介2、Nacos2.1下载2.2 注册中心2.3 配置中心2.4配置中心细节3、远程调用Feign【笔记于学习尚硅谷课程所作】1、简介 Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过Spring Cloud编程模型轻松使用这些组件来开发分布式应用服务。 依托Spring Cloud Alib
【笔记于学习尚硅谷课程所作】
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
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</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项目中导入依赖
<!--服务注册/发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.在项目中配置application.yml
application:
name: gulimall-coupon
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
3.启动类添加注解@EnableDiscoveryClient
2.3 配置中心
1…在common项目中导入依赖
<!--配置中心来做配置管理-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.在resources目录下添加配置文件bootstrap.properties
spring.application.name=gulimall-coupon
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的依赖(快速搭建项目时引入过)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.单独创建一个包feign,在包内声明接口,告诉SpringCloud这个接口需要调用远程服务
3.声明接口的每个方法都是调用的远程服务的哪个请求
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
@RequestMapping("/coupon/coupon/t")
public R t();
}
4.开启远程调用的注解:@EnableFeignClients(basePackages = “com.hanhan.gulimall.coupon.feign”)
更多推荐
所有评论(0)