科技之全球垄断
提示:本站会被大陆网络屏蔽、封禁、禁止访问! 本站域名並非永久域名!
当前网址:m.ltxsw.top 如果遇到无法打开网址。
请发送任意内容到邮件Ltxsba@gmail.com取得最新地址.
截屏拍照记录当前页面,以免丟失网址和邮箱.
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
点我自动发送邮件
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

第378章【解决方案与报价】

怕找不到回家的路!请截图保存本站发布地址:www.ltxsdz.com

团的技术专家连连点表示认同,技术痛点就在这里。

罗晟继续说道:“下单减库存。当用户并发请求到达服务端时,首先创建订单,然后扣除库存,等待用户支付。这种顺序是我们一般首先会想到的解决方案,这种况下也能保证订单不会超卖,但也会产生一些问题,第一就是在极限并发的况下,任何一个内存作的细节都至关影响能,尤其是像创建订单这种逻辑,基本都需要存储到磁盘数据库的,对数据库的压力是可想而知的,12306应该是用的甲骨文数据库,别花这个冤枉钱了,放到我的星云上。”

“第二是如果用户存在恶意下单的况,只下单不支付这样库存就会变少,会少卖很多订单,虽然服务端可以限制ip和用户的购买订单数量,但这也真心不算是一个好办法。”

“然后就是支付减库存了。如果等待用户支付了订单再减库存,第一感觉就是不会少卖。但这是并发架构的大忌,因为在极限并发的况下,用户可能会创建很多订单,当库存减为零的时候很多用户会发现抢到的订单支付不了,这也就是所谓的‘超卖’,也不能避免并发作数据库磁盘io。”

“最后是预扣库存。从上面两种方案的考虑,可以得出结论:只要创建订单,就要频繁作数据库io。那么有没有一种不需要直接作数据库io的解决方案呢?答案是有,就是预扣库存,先扣除了库存,保证不超卖,然后异步生成用户订单,这样响应给用户的速度会快很多。”

“那么怎么保证不少卖呢?用户拿到了订单,不支付怎么办?订单都应该有效期,比如说用户五分钟内不支付,订单就失效,就会加新的库存。订单的生成是异步的,应该放到即时消费队列中处理……”

刘副总听的云里雾里的,但是他发现罗晟和他带来的几个技术专家流的愈发火热,似乎也得出了一个信息。

找对了!

这时,罗晟打开了房间里的墙面上的大屏幕,他也拿来了一台笔记本工作电脑打开,示意众看向主投屏,自己一边作电脑一边说道:

“go语言原生为并发设计,我就采用go语言给各位演示一下单机抢票的具体流程以及我优化后的解决方案。”

“go包中的init函数先于main函数执行,也在这个阶段主要做一些准备质的工作。系统需要做的准备工作有:初始化本地库存、初始化远程redis存储统一库存的hash键值、初始化redis链接池。”

“另外还需要初始化一个大小为1的int类型chan,目的是实现分布式锁的功能,也可以直接使用读写锁或者使用redis等其他方式避免资源竞争,但是使用channel更加高效,这就是go语言的哲学,不需要通过共享内存来通信,而是通过通信来共享内存。redis库使用的是redigo,下面是代码:

//localspike包结构体定义

package localspike

type localspike struct {

localinstock int64

localsalesvolume int64

}

//remotespike对hash结构的定义和redis连接池

package remotespike

//远程订单存储健值

type remotespikekeys struct {

……

……

不知不觉,时间已经过去了一个半小时,反正刘副总是听不懂,那些代码看的晕转向。

技术问题终于讨论的差不多了。

铁路集团的技术专家看向了刘副总并且带着肯定的目光轻点了一下,刘副总立马就明白了,果断的转投看向罗晟问道:“罗总,如果提供这么一整套完善解决方案,报价是多少?”

罗晟直言:“每年支付10个亿。”

刘副总听到这个数字差点没有一老血出来,12306票务系统一期工程的预算也才3个亿,这样的报价简直贵到难以接受。

……

人气小说推荐More+

邪恶哈基蛇冷周六因意外事故被调教轮奸ccb的故事?
邪恶哈基蛇冷周六因意外事故被调教轮奸ccb的故事?
正午 拉普拉斯忙碌了整个上午的冷周六小姐,慢慢伸起双手,伸了个懒腰。带着骨间的脆响,回荡在她的办公区域中。夹杂在发丝中的兄弟姐妹们在她的锁骨上磨出细响以回应。好容易完成了新一版的传送软盘,她已经等不及向同事们
Wdl腱鞘炎
金露会所
金露会所
“黑金山厦”是整个**星际联邦**最著名、也最高档的销金窟,每天、这里都聚集来自四面八方,最顶级的权贵。“金露会所”位于这栋大厦的第一百层。三名少女因不同的际遇,来到这个名为“金露会所”的地方……
烛山
轮回:追寻长生不老的她
轮回:追寻长生不老的她
长生不老女主和痴情男主,男主为了和女主在一起动用秘术,确保自己的每一世轮回都能在18岁想起前世的记忆。
池塘
传奇老灯勇闯末世
传奇老灯勇闯末世
中年老灯“高爽”在家闲来无事玩一款复古的热血传奇私服时意外获得该游戏公司的邀请,参与内测一款虚拟现实版的热血传奇,经过一天一夜的内测后回到现实世界中发现,现世界已经爆发丧尸危机,窗外一片末世景象,高爽发现在游戏
中年老灯
百年贞锁缚芷怨
百年贞锁缚芷怨
多年以后,面对儿媳,厚家的长夫人周芷会回想起丈夫将她娶进厚家的那个夜晚。那是个浸着冷香的姑苏秋夜,湿润的晚风裹着桂气从湖面上漫来,夜雾揉碎了月色,缠上古柳垂丝,也笼住了枕在湖湾深处的厚家宅院——朱墙黛瓦映着朦胧月
Wimile