走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记

随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程:单体应用架构-->垂直应用架构-->分布式架构-->SOA架构-->微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的,以及各有什么优缺点。

单体应用架构

互联网早期,一般的网站应用流量较小,只需一个应用, 将所有功能代码都部署在一起就可以, 这样可以减少开发、部署和维护的成本。比如说一个电商系统, 里面会包含很多用户管理,商品管理,订单管理,物流管理等等很多模块,我们会把它们做成一个web项目, 然后部署到-台tomcat服务器上。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第1张图片

 

优点:

  • 项目架构简单,小型项目的话,开发成本低
  • 项目部署在一个节点上,维护方便

缺点:

  • 全部功能集成在一个工程中,对于大型项目来讲不易开发和维护
  • 项目模块之间紧密耦合,单点容错率低
  • 无法针对不同模块进行针对性优化和水平扩展

垂直应用架构

随着访问量的逐渐增大,单- -应用只能依靠增加节点来应对,但是这时候会发现并不是所有的模块都会有比较大的访问量。

还是以上面的电商为例子,用户访问量的增加可能影响的只是用户和订单模块, 但是对消息模块的影响就比较小那么此时我们希望只多增加几个订单模块,而不增加消息模块.此时单体应用就做不到了,垂直应用就应运而生了。

所谓的垂直应用架构,就是将原来的-一个应用拆成互不相干的几个应用,以提升效率。比如我们可以将上面电商的单体应用拆分成:

  • 电商系统(用户管理商品管理订单管理)
  • 后台系统(用户管理订单管理客户管理)
  • CMS系统(广告管理营销管理)

这样拆分完毕之后,一旦用户访问量变大,只需要增加电商系统的节点就可以了,而无需增加后台和CMS的节点。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第2张图片

 

分布式架构

当垂直应用越来越多,重复的业务代码就会越来越多。这时候,我们就思考可不可以将重复的代码抽取出来,做成统一的业务层作为独立的服务,然后由前端控制层调用不同的业务层服务呢?这就产生了新的分布式系统架构。它将把工程拆分成表现层和服务层两个部分,服务层中包含业务逻辑。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第3张图片

 

优点:

  • 抽取公共的功能为服务层,提高代码复用性

缺点:

  • 系统间耦合度变高,调用关系错综复杂,难以维护

SOA架构

在分布式架构下,当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心对集群进行实时管理。此时,用于资源调度和治理中心(SOA Service OrientedArchitecture,面向服务的架构)是关键。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第4张图片

 

优点:

  • 使用注册中心解决了服务间调用关系的自动调节

缺点:

  • 服务间会有依赖关系,一旦某个环节出错会影响较大(服务雪崩)
  • 服务关心复杂,运维、测试部署困难

微服务架构

微服务架构在某种程度上是面向服务的架构SOA继续发展的下一步,它更加强调服务的"彻底拆分"。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第5张图片

 

优点:

  • 服务原子化拆分,独立打包、部署和升级,保证每个微服务清晰的任务划分,利于扩展
  • 微服务之间采用Restful等轻量级http协议相互调用

缺点:

  • 分布式系统开发的技术成本高(容错、分布式事务等)

以上就是这份SpringCloud ALiBaba笔记的开头部分,带你了解了单体到微服务的一个过程,由于这份笔记页数过多,所以以下小编只能展示目录给大家。需要获取完整版SpringCloud ALiBaba笔记的朋友可以转发一下这篇文章+关注我,然后私信我【666】获取完整版笔记!

目录

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第6张图片

 

第一章微服务介绍

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第7张图片

 

第二章微服务环境搭建

我们本次是使用的电商项目中的商品、订单、用户为案例进行讲解。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第8张图片

 

第三章Nacos Discovery--服务治理

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第9张图片

 

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第10张图片

 

第四章Sentinel--服务容错

在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第11张图片

 

第五章Gateway--服务网关

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第12张图片

 

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第13张图片

 

需要获取完整版SpringCloud ALiBaba笔记的朋友可以帮忙点赞一下,GitHub免费获取链接:https://github.com/biws-byte/zhym

第六章Sleuth--链路追踪

在大型系统的微服务化构建中,-个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题: .

  • 如何快速发现问题?
  • 如何判断故障影响范围?
  • 如何梳理服务依赖以及依赖的合理性?
  • 如何分析链路性能问题以及实时容量规划?

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第14张图片

 

第七章Rocketmq--消息驱动

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第15张图片

 

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第16张图片

 

第八章SMS--短信服务

短信服务(Short Message Service)是阿里云为用户提供的- -种通信服务的能力。

  • 产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度
  • 产品功能:短信通知、短信验证码、推广短信、异步通知、数据统计
  • 应用场景:短信验证码、系统信息推送、推广短信等

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第17张图片

 

第九章Nacos Config--服务配置

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第18张图片

 

第十章Seata--分布式事务

事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为, 要么所有操作都成功,要么所有的操作都被撤销。简单地说,务提供一种“要 么什么都不做,要么做全套"机制。

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第19张图片

 

走进阿里Spring Cloud微服务系统架构世界,微服务架构笔记_第20张图片

 

需要获取完整版SpringCloud ALiBaba笔记的朋友可以帮忙点赞一下,GitHub免费获取链接:https://github.com/biws-byte/zhym

你可能感兴趣的:(Java,架构,SpringCloud)