开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):总结项目技术点(后端技术1)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11562
总结项目技术点(后端技术1)
内容介绍:
一、微服务架构
二、SpringBoot
三、SpringCloud
一、微服务架构
(1)项目采用微服务架构
含义:
在做项目时可以按照项目中的功能模块和相关的业务模块拆分成多个独立的部分,每个部分都可以独立运行,独立部署,模块之间有关系也是通过远程调用做到的。
现在的项目一般都是为微服务架构,如果不是微服务,那么就是项目老旧或者不是互联网项目。
二、SpringBoot
(1)含义
SpringBoot 本质上就是 Spring,只是快速构建 Spring 工程的脚手架。
(2)细节
启动类包扫描机制:在启动类中,SpringBoot 用 main 方法作为程序入口,而 main 方法有属于自己的扫描机制。
启动类包扫描机制为从外向内扫,但机制可以改变,通过加入@ComponentScan(“com.atguigu“)设置扫描规则来指定扫描。@ComponentScan(“com.atguigu“)表示为@ComponentScan(“包路径“)。
EduConfig 为配置类,在 SpringBoot 功能中可以建立配置类,当启用 SpringBoot 功能时,也会对配置类中的内容进行加载,所以应在启动类中写基本配置,将其他内容写到配置类中,即加入@Configuration。
(3)SpringBoot 配置文件
配置文件类型:properties 和 yml
SpringBoot 配置文件加载顺序:首先加载 bootstrap 文件,再加载 application 文件,
如果在 application 文件中加入 spring.profiles.active=dev,则会找 application-dev 的文件,此为配置文件的加载过程。
三、SpringCloud
SpringBoot+SpringCloud 此为现在大多数公司的架构。
(1)概要
SpringCloud 本身并不是一种技术,是很多框架的总称,使用这些框架实现微服务架构,基于 SpringCloud 来进行实现。
(2)组成框架的具体内容
· 服务发现——Netflix Eureka(Nacos)
· 服务调用——Netflix Feign
· 熔断器——Netflix Hystrix
· 服务网关——Spring Cloud GateWay
· 分布式配置——Spring Cloud Config(Nacos)
· 消息总线——Spring Cloud Bus(Nacos)
不加(Nacos)则为原生框架,而(Nacos)本身并不是 SpringCloud 中的内容,而是阿里巴巴提供的内容。
(3)项目中,使用阿里巴巴的 Nacos,替代 SpringCloud 一些组件。
(4)Nacos
使用 Nacos 作为注册中心:使用一个模块调用另一个模块,将两个模块在 Nacos 注册中心进行注册后来进行调用。
使用 Nacos 作为配置中心:通过项目来读取 Nacos 配置文件,帮助其加载多配文件或者改变空间以便于做不同的切换。
(5)Feign
服务调用:一个微服务调用另一个微服务,实现远程调用,如在课程中调用 vod 查看视频播放凭证,在课程中调用orders 查看视频是否购买。
(6)熔断器
熔断器做容错处理,如一个模块调用另一个模块,当另一个模块挂掉后,不使用熔断器则会报告超时,如果使用熔断器则采用熔断方法进行处理。
(7)Gateway 网关
SpringCloud 之前运用的是 zuul 网关,目前运用的是 Gateway 网关。