1.认识微服务
本文的视频链接:01-今日课程介绍_哔哩哔哩_bilibili
参考链接:(10条消息) SpringCloud笔记(黑马)_安赫'的博客-CSDN博客
在学习微服务之前,必须
1.1 单体架构
单体架构:将业务的功能集中到一个项目中开发,打成一个包部署。
优点:
-
架构简单
-
部署成本低
缺点:
-
耦合度高,依赖关系强,维护和升级困难
1.3 分布式架构
分布式架构:根据业务功能对系统拆分,每个业务功能模块作为独立项目开发,称为一个服务。
优点:
-
降低服务耦合
-
有利于服务升级和拓展
缺点:
-
服务调用关系错综复杂
思考:
-
服务拆分粒度如何界定,即拆分到什么阈值
-
服务之间如何调用
-
服务的调用关系如何管理
1.4 微服务架构
微服务设计原则:
-
单一职责:微服务拆分粒度更小,每一个服务对应唯一的业务能力,做到单一职责;
-
服务自治:团队独立、技术独立、数据独立、独立部署和交付;
-
面向服务:服务提供统一标准接口,与语言和技术无关;
-
隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。
微服务是一个经过良好架构设计的分布式架构方案。
1.5 SpringCloud
SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。
该框架集成了各种微服务功能的组建,并基于SpringBoot实现这些组价的自动装配,从而提高了良好的开箱即用体验。
常见组件如下图:
由于SpringCloud依赖于SpringBoot,并且有版本兼容问题,SpringCloud与SpringBoot的对应版本如下图:
我的项目中使用的SpringBoot是2.3版本的,因此对应的SpringCloud版本可以使用跟黑马教程相同的Hoxton.SR10.
1.6 小结
-
单体架构:简单方便、耦合高、扩展性差,适合小型项目。如学生管理系统。
-
分布式架构:耦合低、扩展性好、架构复杂、难度大。适合大型互联网项目,如京东、淘宝。
-
微服务架构:一种良好的分布式架构方案。相对于分布式架构,微服务架构拆分粒度更小、服务更独立、耦合度更低;架构非常复杂、运维、监控、部署难度更高。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-04-18 四月十八日java基础知识