系统架构演变-下|学习笔记

简介: 快速学习系统架构演变-下

开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈:系统架构演变-下】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/683/detail/11855


系统架构演变-下


内容介绍

一、微服务架构(服务的原子化拆分)

二、微服务架构优缺点

三、选择与使用


一.微服务架构(服务的原子化拆分)

本次课程主讲微服务架构。什么叫微服务架构:这个名词最重点是“微”,他提倡的是服务的原子化拆分。

在垂直应用架构里,已经开始对各个模块儿进行拆分了。那么微服务架构,它强调的是原子化拆分,也就是往小了拆,拆到最小为止。比如说对于一个电商来讲,可能会拆成如下图:

image.png

商品微服务是处理跟商品相关的信息,其他的一概不管;用户微服务是处理用户信息;秒杀微服务是只处理秒杀业务;当然还可以再有各种各样的微服务,将这个微服务拆到最小为止。

而外边类似椭圆的圈,就表示一个 web 中间件。我们将每一个微服务都执行单独部署,就相当于是圈中产生了一系列的小的应用系统。作为用户来讲,他想用哪个功能就去调用哪一个微服务就可以了。

之后就有了这样一张关系图:

image.png

以下为简化关系图:

image.png

注意:大矩形只是一个逻辑上的圈,用户是可以访问进来的,这就是我们的微服务的概念。


二.微服务架构优缺点

微服务架构在某种程度上是面向服务架构 SOA 的进一步的发展,它强调的是微服务的“彻底拆分”。那么它的优点和缺点分别是什么?

image.png

优点:

  • 服务进行了原子化拆分以后,就可以对每一个微服务进行独立的打包部署和升级,不会影响到其他的微服务,保证每个微服务的任务划分,利于扩展。

而且每个微服务都遵循单一职能原则,他只管自己的事情,比如说用户就管用户的,商品就管商品的,他们之间现在是没有交流的。他们有着清晰的任务划分,利于扩展。比如说现在秒杀任务来了,下订单处于一个飙高并发的状态,我们可能需要两个订单微服务才能支撑住,这时候我们把订单微服务这个小的原子,再搞出一份来就可以了,那么其他的微服务不会受到影响。

还有一个优点,我们用户维护,商品维护,都是单独存在的,那么在企业中必然会有一些联系。怎么联系?我们要下订单,下订单之前需要查询商品的信息才能下订单,那么下完订单得发物流。其实这里面都是要有联系的,怎么联系呢?

  • 微服务之间,我们采用的是 Restful 风格等轻量级 http 协议相互调用

这个词现在听不懂也没关系,后面我们还会提及,只用知道它是通过一些非常轻量级的协议进行调用的就可以了。

缺点:

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

如图所示:

image.png

这里面可能要进行一些链路的追踪,服务的监控,服务的配置治理,以及消息总线,各种各样的技术都会在这里面出现,对于一些小型系统来讲,用它反而会麻烦。


三、选择与使用

这五个服务架构没有哪一个最好之说。架构各自有各自的优缺点,如果要做一个非常非常小的项目,就是想玩儿一玩儿,这时候单体用架构可能是一个最好的选择。如果说要做一个非常大的项目,可能有成千上百个服务在里面,那可能微服务架构是一个是更好的选择。所以说,在企业开发中用哪个架构完全取决于你项目的大小特征,没有说哪一个服务架构会更好,好的多少,这就是微服务架构的简单介绍。下节课会针对微服务里边的一些问题作进一步的讲解。

相关文章
|
2天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
21 6
|
2天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
11 1
|
3月前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
3月前
|
运维 监控 Cloud Native
自动化运维的魔法书云原生之旅:从容器化到微服务架构的演变
【8月更文挑战第29天】本文将带你领略自动化运维的魅力,从脚本编写到工具应用,我们将一起探索如何通过技术提升效率和稳定性。你将学会如何让服务器自主完成更新、监控和故障修复,仿佛拥有了一本能够自动翻页的魔法书。
|
3月前
|
消息中间件 运维 Kubernetes
探索微服务架构的演变与实践
在软件开发的长河中,微服务架构如同一股清流,它改变了我们构建和部署应用的方式。本文将深入探讨微服务架构从诞生到成熟的发展历程,分析其核心价值与面临的挑战,并分享实践中的经验教训。通过具体案例,我们将揭示如何在不断变化的技术生态中有效运用微服务架构,以及如何克服实施过程中的障碍。
|
1月前
|
负载均衡 API 持续交付
深入探索微服务架构的演变与实践
【10月更文挑战第5天】 在当今软件开发领域,微服务架构以其独特的优势,如解耦、灵活性和可扩展性,已成为构建现代应用的首选方法。本文将全面解析微服务的核心概念、发展历程及其在实际应用中的最佳实践,帮助读者深入理解并有效实施微服务架构。
30 3
|
1月前
|
消息中间件 负载均衡 Cloud Native
云原生之旅:从容器到微服务的架构演变
在数字化转型的风潮中,云原生技术以其灵活性、可扩展性和弹性而备受青睐。本文将通过一个虚拟的故事,讲述一个企业如何逐步拥抱云原生,实现从传统架构向容器化和微服务架构的转变,以及这一过程中遇到的挑战和解决方案。我们将以浅显易懂的方式,探讨云原生的核心概念,并通过实际代码示例,展示如何在云平台上部署和管理微服务。
|
16天前
|
机器学习/深度学习 人工智能 前端开发
移动应用的架构演变与未来趋势
【10月更文挑战第20天】移动应用开发经历了从简单到复杂的演进过程,其架构设计也随着技术进步和用户需求的变化而不断演化。本文将探讨移动应用架构的变迁,分析当前流行的架构模式,并预测未来的发展趋势,旨在为开发者提供架构设计的参考和启示。
27 0
|
2月前
|
机器学习/深度学习 人工智能 云计算
后端架构的演变与未来趋势
本文深入探讨了后端架构的历史演变和未来发展趋势,从单体应用到微服务架构,再到无服务器架构,分析了每种架构的特点、优势及应用场景。同时,展望了未来可能的发展方向,如人工智能在后端开发中的应用、云计算技术的深度融合等,为后端开发者提供了宝贵的参考和启示。
|
2月前
|
人工智能 边缘计算 Serverless
后端架构演变与未来趋势
本文旨在通过对后端架构的发展历程进行梳理,探讨从单体应用到微服务架构的转变过程及其背后的驱动因素。同时,分析当前后端技术中的热门话题如容器化、Serverless架构和人工智能集成等,并对未来可能的技术趋势进行展望。通过总结现有技术的优缺点及未来可能面临的挑战,为后端开发者提供有价值的参考。这也太棒了吧!
下一篇
无影云桌面