消息队列和应用工具产品体系-微服务架构引发的问题

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 消息队列和应用工具产品体系-微服务架构引发的问题

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:消息队列和应用工具产品体系-微服务架构引发的问题】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19036


消息队列和应用工具产品体系-微服务架构引发的问题

 

内容介绍:
微服架构对系统的可用性带来的影响

一.快速迭代导致功能性测试周期大大缩短

二.较小的业务单元需要更强大的调用链路跟踪

 

一.快速迭代导致功能性测试周期大大缩短

服务架构倡导小团队、小服务,快速迭代开发的模式,在这种模式中,一个迭代周期平均时间只有几周甚至几天,这种情况下留给 QA 人员的测试时间也变得很,测试人员很难瀑布式开发流程中那样,执行单独完成完善的整体测试流程。
而如何在短时间内完成测试并保证质量,就对 QA 人员和整个开发模式提出了新的挑战。因此业界也对软件测试提出了很多新的思路,其中比较有代表性的是 Kent Beck 著作测试驱动开发,简称 TDD,就是下面图中的这本书。

image.png


TDD 最主要的思想就是在软件设计之初就开始进行测试用例的编写,开发人员提交的代码进行快速的验证,从而达到测试来驱动整个研发过程的。
图中的八个状态表示了 TDD 倡导测试在软件迭代中期中的八个阶段。首先在本次迭代的功能确定开始就开始编写测试例,然后通过测试用例来验证开发者每次提交的代码。开始时开发者提交的代码无法通过测试通过不停的迭代和修改,测试的通过率越来越高,直到全部通过测试接着开发者在对内部的流程进行重构,提高代码的运行效率,完善架构。
通过流程可以发现 TDD 思想在实践过程中,测试用的集合要不断的执行测试和验证工作,因此这就需要利用更加强大的自动化测试工具才能达到持续验证的目的

 

二.较小的业务单元需要更强大的调用链路跟踪

互联网业务的高速发展带来了业务逻辑的日趋复杂,越来越多的网站采用分布式部署架构,同时 Spring cloud double 等微服框架不断成熟,分布式架构已经成为互联网业务的主流软件架构。分布式的微服务架构在开发效率上具备先进,但是给传统的监控、运维、诊断技术带来了巨大挑战。

淘宝网的分布式架构微服实践过程来看,遇到的挑战主要有

1. 定位问题难,客服人员接到用户反馈后,会交给技术人员排查解决,而服务架构中,网站的请求通常要经过多个服务节才能返回结果一旦请求出现错误,通常要在多台机器上反复翻看日志才能步定问题。对简单问题的排查也常常涉及到多个团队的反复沟通,浪费大量的开发精力。
image.png

2. 发现瓶颈难,当用户反馈网站出现卡顿的现象,很难快速发现瓶颈在哪里,是用户终端到服务端的网络问题,还是服务端负载过高导致响应变慢,或是数据库压力过大,即使定位到了导致卡顿的环,也很难快速定位到代码层的根本原因

3. 架构梳理。在业务逻辑变得越来越复杂后,很难从代码梳理出应用依赖数据库、HTTPAPI、缓存等下游服务和资源,及外部调用。业务逻辑的梳理、架构的制度和容量的规划也变得更加困难。以双11促销活动的准备为例,成百上千的服务,每个服务能承受最大的并发是多少?需要为每个应用准备多少台机器,出现问题如何快速的定位?
这些信息通过传统的人工运维和人工观测的方法都很难获得准确数据,因此就需要通过新的应用工具进行诊断和跟踪。

相关文章
|
1月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
129 6
|
1月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
51 1
|
2月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2024 年 9 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 9 月产品动态。
|
20天前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
140 68
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
19天前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
149 36
微服务架构解析:跨越传统架构的技术革命
|
6天前
|
存储 消息中间件 缓存
独特架构打造新一代消息队列Apache Pulsar
Apache Pulsar 是一个开源的分布式消息流平台,由雅虎开发并于 2016 年开源,2018 年成为 Apache 顶级项目。Pulsar 通过独特的架构提供多租户、持久化存储和批处理等高级功能,支持高吞吐量、低延迟的消息传递。其核心组件包括 Broker、Apache BookKeeper 和 Apache ZooKeeper,分别负责消息处理、持久化存储和集群管理。
26 1
|
15天前
|
Cloud Native API 微服务
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态。
|
17天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 11 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
29天前
|
搜索推荐
|
1月前
|
消息中间件 供应链 架构师
微服务如何实现低耦合高内聚?架构师都在用的技巧!
本文介绍了微服务的拆分方法,重点讲解了“高内聚”和“低耦合”两个核心设计原则。高内聚强调每个微服务应专注于单一职责,减少代码修改范围,提高系统稳定性。低耦合则通过接口和消息队列实现服务间的解耦,确保各服务独立运作,提升系统的灵活性和可维护性。通过领域建模和事件通知机制,可以有效实现微服务的高效拆分和管理。
57 7