第一天 A
1.认识微服务:
单体架构:
将业务所有功能集中在一个项目中进行开发,打成一个包部署;
优点:
1.架构简单
2.部署成本低
缺点:
1.耦合度高
所以我们要使用一个新的架构 ----- 分布式架构
分布式架构:
根据业务功能对系统进行拆分,每个模块作为独立项目开发,称为一个服务
优点:
1.降低服务耦合
2.有利于服务升级拓展
当然他也需要考虑服务治理方面的问题:
1.服务拆分粒度如何?
2.服务集群地址如何维护?
3.服务之间如何支持远程调用?
4.服务健康状态如何感知?
微服务是一种进行了良好架构设计的分布式架构方案,微服务的架构特征是:
单一职责:做到每个服务都对应自己的唯一的职责,防止业务重复的出现。
面向服务:让服务接口对外暴露。
自治:技术独立,团队独立,数据独立,部署独立。
隔离性强:通过对每个微服务进行隔离,使得每个服务之间当遇到问题时,不会进行传递,造成更大的业务方面的问题
微服务技术:
主要有三个:dubbo,spring cloud 和 springCloudAlibaba
微服务主要的分为五个部分:注册中心,服务远程调用,配置中心,服务网关和服务监控与保护。
springCloudAlibaba是dubbo对于springCloud进行开发的一个全新的组件。
springCloudAlibaba对于很多方面都进行了改进,所以在操作上与spring cloud也很像。
企业中,主要是四种模式
1.springCloud+restful风格+feign协议
2.springCloudAlibaba+restful风格+feign协议
3.springCloudAlibaba+Dubbo+Dubbo协议
4.原始Dubbo的模式
前两种类似都是spring Cloud的模式
而后两种主要是Dubbo模式
2.了解SpringCloud
Spring Cloud :
springCloud 官网地址:http://spring.io/projects/spring-cloud。
在官网里包含了大量的微服务功能组件。
对于不同的spring cloud也对应了不同的 spring boot 版本。
比如:当springCloud 用的是Hoxton.SR10,它对应的spring boot的版本就是2.3.x版本。