秒杀架构优化,产品折衷

开发 开发工具
最近有朋友问我,说我的文章里,总是提“脱离业务的架构设计是耍流氓”。每次都是架构根据业务折衷,有没有业务和产品由于技术难度太大来做折衷的?

最近有朋友问我,说我的文章里,总是提“脱离业务的架构设计是耍流氓”。

每次都是架构根据业务折衷,有没有业务和产品由于技术难度太大来做折衷的?

当然有,当一个业务技术难度非常大的时候,可以通过业务和产品的优化,来简化系统架构。

[[233838]]

以“12306车票秒杀”为例,秒杀业务架构难度大,业务和产品可以这么折衷:

case 1

一般来说,下单和支付放在同一个流程里,能够提高转化率。

对于秒杀场景,产品上,下单流程和支付流程异步,放在两个环节里,能够降低数据库写压力。

12306,下单成功后,系统占住库存,45分钟之内支付即可。

case 2

一般来说,所有用户规则相同,体验会更好。

对于秒杀场景,产品上,不同地域分时售票,虽然不是所有用户规则相同,但能够极大降低系统压力。

北京9:00开始售票,上海9:30开始售票,广州XX开始售票,能够分担系统压力。

case 3

秒杀场景,由于短时间内并发较大,系统返回较慢,用户心情十分焦急,可能会频繁点击按钮,对系统造成压力。

产品上可以优化为,一旦点击,不管系统是否返回,按钮立刻置灰,不给用户机会频繁点击。

case 4

一般来说,显示具体的库存数量,能够加强用户体验。

对于秒杀场景,产品上,只显示有/无车票,而不是显示具体票数目,能够降低缓存淘汰率。

显示库存会淘汰N次,显示有无只会淘汰1次。更多的,用户关注是否有票,而不是票有几张。

...

无论如何,产品技术运营一起,目标是一致的,把事情做好,不存在谁是甲方,谁是乙方的关系。

脱离业务的架构设计是耍流氓。

架构难度大,产品也应该折衷。

画外音:秒杀业务的架构优化讲过了,这次说产品上的优化。

【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2020-10-14 07:20:53

高并发

2019-09-16 09:34:39

2022-08-26 10:24:48

架构Golang

2019-10-30 16:54:08

golangredis数据库

2021-06-23 06:48:42

秒杀Java电商

2021-12-03 10:47:28

WOT技术峰会技术

2016-01-06 10:10:25

2015-06-30 12:53:40

秒杀应用MySQL数据库优化

2020-06-15 21:44:51

优化思路Redis秒杀功能

2019-07-23 13:32:13

Java开发代码

2013-07-03 09:39:07

产品优化产品通过数据优化产品

2022-06-09 08:01:43

秒杀系统互联网架构

2022-03-11 21:35:57

Java程序线程

2011-12-01 14:11:00

惠普信息优化

2012-11-08 10:27:22

WEB产品架构架构

2022-02-23 08:14:19

产品功能,页面

2023-04-07 17:44:43

2020-09-01 07:47:32

Redis秒杀微信

2020-10-19 11:22:38

护网行动
点赞
收藏

51CTO技术栈公众号