spring cloud
微服务
1:微服务是架构风格
2:把一个项目拆分成多个服务 服务独立运行
spring cloud
1:spring cloud并不是一种技术,是很多技术总称,很多框架集成
2:spring cloud里面有很多框架,使用里面的那些框架实现微服务操作
3:使用spring cloud,需要依赖spring boot
其内的相关组件
服务发现(注册中心)—Netflix Eureka (Nacos)
服务调用—Netflix Feign
熔断器—Netflix Hystrix
服务网关—Spring Cloud GateWay
分布式配置—Spring Cloud Config (Nacos)
消息总线—Spring Cloud Bus (Nacos)
1:Nacos注册中心介绍
两个模块,没有联系,也不引入依赖
将两个模块都注册到注册中心,即可相互调用
2:Nacos注册中心使用
下载:官网下载即可,解压后启动运行文件即可
Windows启动的是:startup.cmd
Linux启动的是:startup.sh
访问:http://localhost:8848/nacos
用户名\密码:nacos\nacos
2.1:把互相调用的服务在nacos进行注册
1:引入依赖
<!--服务注册-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2:在所要使用的模块添加配置
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
3:所用模块启动类添加注解
@EnableDiscoveryClient //nacos注册
即可发现在nacos中就有了
2.2:使用feign调用
1:引入依赖
<!--服务调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2:在调用端启动类上添加注解
@EnableFeignClients //nacos的调用端注解
3:在调用端创建个接口,使用注解指定调用服务名称,定义调用的方法路径
@FeignClient("service-vod") //用以调用service-vod中的方法
@Component
public interface VodClient {
//再将所要调用的方法前面那个放进来,路径要写全
//根据视频id删除阿里云视频
@DeleteMapping("/eduvod/video/removeAlyVideo/{id}")
//注:这个注解必须要指定名称
public R removeAlyVideo(