亿级流量架构理论+秒杀实战系列(一)

简介: 亿级流量架构理论+秒杀实战系列(一)

业务架构

功能分离:为什么要进行功能分离:确保核心功能的高并发和高可用

按照功能的重要程度:划分为核心功能和非核心功能

例如:在亿级规模的用户中台系统中,假设有注册,登录,用户信息,日志,行为分析等功能。问题是:哪一个更重要?

例如:在用户中台系统中,对于一个亿级用户,日活2000万的业务来说,平均每天注册用户是10万左右,假设2年之后,用户的修改信息可能还不到1万,但登录的功能是2000万,很明显我们应该保证登录的才是核心。登录是核心功能,注册,用户信息是非核心功能,登录功能一旦有问题,其他的业务系统,就不能登陆了,非核心业务功能即使有问题,暂时也不会立刻影响业务系统的使用。因此,优先保证核心功能正常,是我们首先的目标。

其次要核心功能和非核心功能,有不同的对应策略:

隔离策略,重试策略,功能降级策略

按照功能的流量特点:

在秒杀系统中,这里需要区分,可以分为流量突发型,流量平缓型的功能和突发流量的功能做好隔离。

电商平台:秒杀功能,电商功能

流量突发,流量平缓型的应对策略:

首先做好隔离策略,另外,对突发流量的做好独立的伸缩扩展策略。

功能分离之后的应对:

功能隔离

如何隔离:

1、单独的域名,单独的接入层、隔离的服务层、单独的缓存,单独的数据库

域名隔离、 代理隔离、微服务隔离、缓存隔离、数据库隔离

2、只要核心功能和非核心功能存在共享的资源,就有可能因为非核心功能影响核心功能。举个最简单的例子,如果数据库共用一套,那么非核心功能如果出现了大量的整表查询(慢sql),核 心功能同样受到影响。

3、只要流量突发型、流量平缓型功能存在共享的资源,就有可能影响流量平缓型功能。

4、假设:核心功能、非核心功能共享了缓存服务器,就可能会由于非核心功能的操作影响了缓存的性能, 甚至出现问题.

解决方案:缓存物理隔离后,就更加保证了核心功能的安全,

功能降级:

1、当出现故障的时候,当出现瓶颈的时候,可以将非核心功能直接降级,保护核心功能不受影响

2、拆分为核心功能和非核心功能后,虽然物理上两者隔离了,但有的业务还是需要核心功能和非核心功能 配合才能完成,这就存在了一定的风险。

3、比如说大量用户登录时,可以停止行为分析、登录日志等非核心功能。以保证核心功能不受影响。

降级的实现方式通常有手动和自动

1、自动方式是程序调用发生问题时,自动降级,如调用某服务时,响应时间超过预订阀值,自动降级 微服务的熔断,就属于自动降级

2、动方式是使用配置中心,对系统中可降级的服务都设置好开关项,当需要降级时,在配置中心中进行 操作,配置中心进行下发变更通知

3、可以开发了一个后台运维管理程序,当需要停用某个功能的时候,只需要在后台上点击一个按钮就能够完成,花费时间只需要几秒钟。

015474450e1c7af12c6f25abb1bd5b86.png

相关文章
|
18天前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
92 4
|
1月前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
71 4
|
2月前
|
消息中间件 缓存 Java
亿级流量电商平台微服务架构详解
【10月更文挑战第2天】构建一个能够处理亿级流量的电商平台微服务架构是一个庞大且复杂的任务,这通常涉及到多个微服务、数据库分库分表、缓存策略、消息队列、负载均衡、熔断降级、分布式事务等一系列高级技术和架构模式。
98 3
|
2月前
|
存储 前端开发 API
DDD领域驱动设计实战-分层架构
DDD分层架构通过明确各层职责及交互规则,有效降低了层间依赖。其基本原则是每层仅与下方层耦合,分为严格和松散两种形式。架构演进包括传统四层架构与改良版四层架构,后者采用依赖反转设计原则优化基础设施层位置。各层职责分明:用户接口层处理显示与请求;应用层负责服务编排与组合;领域层实现业务逻辑;基础层提供技术基础服务。通过合理设计聚合与依赖关系,DDD支持微服务架构灵活演进,提升系统适应性和可维护性。
|
3月前
|
运维 持续交付 API
深入理解并实践微服务架构:从理论到实战
深入理解并实践微服务架构:从理论到实战
143 3
|
3月前
|
存储 缓存 负载均衡
亿级流量架构理论+秒杀实战系列(二)
亿级流量架构理论+秒杀实战系列(二)
|
3月前
|
运维 监控 持续交付
深入浅出:微服务架构的设计与实战
微服务,一个在软件开发领域如雷贯耳的名词,它代表着一种现代软件架构的风格。本文将通过浅显易懂的语言,带领读者从零开始了解微服务的概念、设计原则及其在实际项目中的运用。我们将一起探讨如何将一个庞大的单体应用拆分为灵活、独立、可扩展的微服务,并分享一些实践中的经验和技巧。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
82 3
|
3月前
|
消息中间件 应用服务中间件 数据库
亿级流量架构理论+秒杀实战系列(三)
亿级流量架构理论+秒杀实战系列(三)
|
26天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
7天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。