泥瓦匠:秒杀架构设计实践思路(一)

  • 时间:
  • 浏览:0
  • 来源:大发pk10_pk10开奖历史_大发pk10开奖历史

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

本文内容

- 秒杀业务难点

- 秒杀架构理论

- 业务设计 & 总结

摘录:生命轮回。事业、家庭乃至做的每件事都会有生命周期。与其想着哪天 Ending,不如脚踏实地,思考未来,活在当下。

From 小弟泥瓦匠思考录

一、前言

一提到秒杀,都会想到高性能、高并发、高可用、大流量...。在电商体系中,交易系统存在了环节中的半壁江山。比如里边很糙迷人的秒杀系统,那秒杀涉及到这名 分发?会涉及到这名 业务?

泥瓦匠自言自语:秒杀这名 东西,一篇文章也说不完。我这名 篇起个头,实践系列还在里边,敬请期待。

二、秒杀业务难点

秒杀业务难点,总结为两点

- 并发多读

- 并发少写

这不同于一些场景,优惠营销系统,只会是另三个多用户读多个数据,但也会大流量的读操作。但没有啥写操作。

并发多读,多用户并发读另三个多数据。比如华为手机都不还可不可以了另三个多库存,活动秒杀。那意味几千万的人一块儿抢这名 库存数据。还不蕴含就说 我有肉机在狂刷。就说 我有用户都会读另三个多商品 + 这名 商品库存的数据。

并发少写,少用户并发写另三个多数据。比如一块儿抢,怎样限流,意味都不还可不可以了血块写请求操作数据层?都不还可不可以了另俩一些人不还可不可以抢到,怎样处理超卖问题 ?

这类,125006 抢票,抢红包啥,瞬间流量更大。那这名 系统更加难设计

三、秒杀架构理论

想起了架构一些定律:墨菲定律、康威定律等。任何的设计实践肯定来自一些理论和定律。

秒杀的一些架构理论(我认为的):

- 高并发原则

- 高可用原则

- 一致性设计

a、高并发原则

1、服务化

服务化老生常谈,选型都会 Spring Cloud 、阿里开源的 Dubbo 等一整套服务化处理方案。考虑服务隔离、限流、超时、重试、补偿等

2、缓存

层层考虑。常见的考虑三层:用户层、应用层、数据层等。

用户层:DNS 缓存、APP 缓存(图片等)

应用层:静态化页面、MQ、Redis 等

数据层:NoSQL、MySQL 自带 Query Cache

思考:缓存都会万能的,肯定是优化各种请求数据、请求节点、请求依赖等

3、拆分

分久必合、合久必分。各种拆分:

  • 系统维度:根据业务模块。如电商系统中的交易系统、商品系统等
  • 功能维度:根据功能模块。如交易系统中的下单系统、退款系统等
  • 读写维度:根据读写比例。如商品系统中的商品写服务和商品读服务等
  • 模块维度:根据代码形状。如分库分表、项目 moudle、代码分三层架构等

思考:就想 MyCat 等分库分表组件,天然植物支持了读写分离...

4、并发化

串行换并行。具体实践,具体场景分析就说 优化。

b、高可用原则

1、降级

用于服务依赖隔离、fallback降级,处理雪崩效应。具体选型:hystrix 等

另外,都时需做配置化,开关服务降级。核心功能保证,次功能优化为异步或屏蔽。这类:双十一的就说 ,会关闭一些评价等功能。

2、限流

处理请求攻击意味超出系统峰值。具体都时需参考一些限流算法 Guava 的 RateLimiter。还写具体手段:恶意流量访问到 Cache 等

3、可回滚

发布版本失败意味有线上问题 故障,第一时间会退到上另三个多稳定版本。思考:那一般运维团队,会有整套的灰度发布、回滚机制。

四、业务设计 & 总结

秒杀业务涉及也得考虑以下几点(重要的):

  • 幂等
  • 防重
  • 数据一致性
  • 数据动静分离
  • 请求削峰
  • 备份

这篇思路分发,起个头。也就说 我大致2个方向:

  1. 请求数据尽量少,网络 IO 越少越好。包括请求数据 + 返回数据;压缩;数据服务 RT 越少越好,数据连接次数。
  2. 访问路径尽量越短,节点越少,消耗越少
  3. 处理单点故障,要有备份

资料: 开涛《亿量级流量网站分发》

(关注微信公众号,领取 Java 精选干货学习资料)

猜你喜欢

《剑网3》雪河套时装好看吗?雪河套时装预览

《《剑网3》雪河套时装好看吗?雪河套时装预览》文章由于归档,不再展示相关内容,编辑建议你查看最新于此相关的内容:《剑网3》八款满载故事的全新挂件铭刻升级路上的感动《剑网3》全新

2020-01-23

蔡突提育兒政策 張善政轟抄襲

【大公報訊】據中通社報道:中國國民黨2020年台灣大選候選人韓國瑜陣營,25日由副手、「國政」顧問團總召張善政正式表态「0到6歲幫忙養」育兒政策。由於蔡英文日前也喊出「0到6歲

2020-01-23

一周跌14%,比特币期货再迎新低

IT之家6月16日消息 去年,比特币的价格一度飙涨到历史最高峰,接近2万美元,圆了不少人的造富梦。但现在,比特币玩家应该感受到了“韭菜”的痛苦。据证券时报报道称,CME比特币期

2020-01-23

SKT才是真太子队!JAG战队踢掉网线两次 韩国人玩黑幕都这么6吗

斗玩小编 来源:斗玩网 2018-03-1611:13:00

2020-01-22

辐射4开场动画怎么跳过 开场动画跳过方法

更新时间:2017-06-2307:19:22来源:斗蟹游戏编辑:斗蟹或者 玩家在玩辐射4的已经我真是开场动画很烦,如果跳过,接下来小编就为其他同学 带来辐射4开场动画为

2020-01-22