任务:

  1. 添加小节删除
    (1)删除阿里云视频

  2. Spring Cloud微服务
    (1)删除小节时,删除阿里云视频
    (2)删除课程时,删除阿里云视频


1. 删除阿里云视频

  • 后端
    在线教育day10

  • api中调用
    在线教育day10

  • 页面中调用
    在线教育day10

bug:
添加视频,然后删除视频,点击提交章节按钮,即不添加视频,提交后数据库中还有视频数据。

原因:在添加视频时,将视频id和name赋值给data中的对象,删除视频后,只是删除了阿里云的视频,而对象中的视频信息还在。

解决: 删除视频时,将视频信息也清空。
**注意:**不能在删除后赋值,否则没法删除,根据id删除,而id没有。

在线教育day10
测试:
在线教育day10


2. 微服务

2.1 微服务介绍

  • 微服务是一种架构风格;
  • 可以将一个项目拆分成多个服务,服务之间独立运行,占用独立进程;
  • 每个服务可以使用不同的技术;

2.2 微服务框架

2.2.1 Spring Cloud
  • 不是一种技术,是很多技术的总称,很多技术集合;
  • 里面有很多框架(技术),使用Spring Clould框架来实现微服务操作;
  • 使用SpringClould, 依赖于Spring Boot。
2.2.2 Spring Cloud 相关基础服务组件

服务发现 Nacos
在线教育day10
在线教育day10
服务发现 (Nacos)
服务调用
熔断器 (Hystrix)
服务网关
分布式配置
消息总线


场景实现
在线教育day10

  1. 引入依赖
    在线教育day10
  2. 在要注册的服务的配置文件中配置Nacos
    在线教育day10
  3. 在启动类上添加注解
    在线教育day10

同理注册service-vod。重启项目并测试:
在线教育day10


配置Feign

  1. 引入依赖
    在线教育day10
  2. 调用端服务启动类添加注解

调用—在调用端写代码
在线教育day10

  1. 调用端创建Interface接口;使用注解指定调用服务名称;定义服务的方法路径;
    在线教育day10
    在线教育day10
  2. 调用方法:删小节时删视频
    在线教育day10

此时启动service-oss,日志:
在线教育day10

service中注册了nacos,所以service-oss在启动时发现父类注册了nacos,就去找自己的相关配置,找不到,就发生异常。不影响使用

  • service-oss也注册nacos

3. 删除课程同时删除阿里云视频

  • Service
    在线教育day10
  • Controller
    在线教育day10
  • service-edu创建的接口中定义方法。
    在线教育day10
  • 在service-edu中调用service-vod的删除多个视频的方法
    在线教育day10
    重启service-edu:

在线教育day10
添加泛型
在线教育day10

测试:测试成功

调用过程:前端->EduCourseController->EduCourseService->vodClient.deleteBatch(videoIds);请求service-video服务->Controller->Service


Spring Cloud接口调用过程

在线教育day10

Hystrix熔断器

使用:
1. 添加依赖
在线教育day10

2. 在调用端配置文件中开启熔断器
在线教育day10
3. 在创建Interface后,创建对应实现类,输出出错时的处理。

在线教育day10
4. Interface上添加注解和属性
在线教育day10
测试:
在线教育day10


(完)

相关文章:

  • 2021-11-21
  • 2021-08-04
  • 2021-04-29
  • 2021-10-02
  • 2021-11-21
  • 2021-11-21
  • 2021-11-21
  • 2021-10-03
猜你喜欢
  • 2022-01-15
  • 2021-05-02
  • 2021-04-26
  • 2021-04-07
  • 2021-06-23
  • 2021-07-01
  • 2021-11-23
相关资源
相似解决方案