既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
2.2 分布式架构
分布式架构特征:根据业务功能对模块进行拆分,极大限度保证一个功能一个模块,一个模块为一个服务
可以看出分布式架构特点:
- 优点:
- 耦合度低
- 服务易于升级和扩展
- 缺点:
- 整体架构复杂
- 项目上线部署难度大
既然微服务这么好用,降低了服务间的耦合度,那我们就不需要思考了嘛?不,微服务架构这么复杂,若是再没有一点规矩,那不是乱了套了嘛。正所谓家有家法、行有行规,微服务也有人家的一套准则,至于准则是什么,这章我们不来细说,我把微服务的服务拆分准则和远程调用的方法放在本专栏的下一篇文章中,这篇文章,风哥仅仅带大家了解下微服务,目的是为了提起大家的学习兴趣,如果这个章节太过繁琐,知识点过多,怕是会劝退很多小伙伴啊😂。
2 微服务初识
首先,看了上边,相信小伙伴们对微服务有了一个整体上的了解,但是却有着不清晰的概念,接下来,风哥给大家梳理一下。
微服务的架构特征:
- 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
- 自治:团队独立、技术独立、数据独立,独立部署和交付
- 面向服务:服务提供统一标准的接口,与语言和技术无关
- 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题
正是由于微服务这样的标准,才使程序间进一步啊降低了耦合度,实现了服务的独立性和灵活性,从而更好地做到了高内聚、低耦合。
所以( ̄▽ ̄)*,我们可以认为微服务是经过了一个良好设计的分布式架构方案。
但是,众所周知,每个方案的基石就是技术栈,而在中国乃至全世界,Java领域最引人注目的就是Spring公司提供的SpringCloud架构技术。
3 SpringCloud
SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud。
同时SpringCloud集成了很多微服务功能组件,并且它基于SpringBoot对这些组件实现了自动装配,从而能让各位在使用中有着良好的开箱即用的体验。
其中常见的组件包括以下几个:
另外呢,风哥提前给大家说一下哈,因为SpringCloud是基于SpringBoot实现自动装配,说明SpringCloud是依赖于SpringBoot的,因此,SpringCloud和SpringBoot就有着相应的版本依赖关系。
具体依赖关系可到Spring官网SpringCloud部分来查看。
为了节约小伙伴时间,风哥已经在下面罗列了写这篇博客时的版本依赖关系,大家按需选择版本即可。
4 初识总结
- 单体架构:结构简单,搭建起来十分迅速,但是高度耦合,扩展性差,比较适合小型项目,譬如:学生管理系统
- 分布式架构:低耦合度,可扩展性好,但是其结构复杂,部署难度大,一般适用于大型项目,最常见的京东、淘宝就是分布式架构
- 微服务:他是一个良好的分布式架构的解决方案
- 优点:耦合度较小、各个服务之间更独立、可扩展性更好
- 缺点:架构复杂、项目部署难度比较大、而且上线后运维、监控的成本较高
- SpringCloud就是一个Spring公司提供的方便易用的微服务架构解决方案,中国类似的呦SpringCloudAlibaba
部署难度比较大、而且上线后运维、监控的成本较高
- SpringCloud就是一个Spring公司提供的方便易用的微服务架构解决方案,中国类似的呦SpringCloudAlibaba
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**