手机浏览器扫描二维码访问
“最后是预扣库存。从上面两种方案的考虑,可以得出结论:只要创建订单,就要频繁操作数据库IO。那么有没有一种不需要直接操作数据库IO的解决方案呢?答案是有,就是预扣库存,先扣除了库存,保证不超卖,然后异步生成用户订单,这样响应给用户的速度会快很多。”
“那么怎么保证不少卖呢?用户拿到了订单,不支付怎么办?订单都应该有效期,比如说用户五分钟内不支付,订单就失效,就会加入新的库存。订单的生成是异步的,应该放到即时消费队列中处理……”
刘副总听的云里雾里的,但是他发现罗晟和他带来的几个技术专家交流的愈发火热,似乎也得出了一个信息。
找对人了!
这时,罗晟打开了房间里的墙面上的大屏幕,他也拿来了一台笔记本工作电脑打开,示意众人看向主投屏,自己一边操作电脑一边说道:
“Go语言原生为并发设计,我就采用Go语言给各位演示一下单机抢票的具体流程以及我优化后的解决方案。”
“Go包中的init函数先于main函数执行,也在这个阶段主要做一些准备性质的工作。系统需要做的准备工作有:初始化本地库存、初始化远程redis存储统一库存的hash键值、初始化redis链接池。”
“另外还需要初始化一个大小为1的int类型chan,目的是实现分布式锁的功能,也可以直接使用读写锁或者使用redis等其他方式避免资源竞争,但是使用Channel更加高效,这就是Go语言的哲学,不需要通过共享内存来通信,而是通过通信来共享内存。Redis库使用的是redigo,下面是代码:
【
localSpike包结构体定义
packagelocalSpike
typeLocalSpikestruct{
LocalInStockint64
LocalSalesVolumeint64
}
…
remoteSpike对hash结构的定义和redis连接池
packageremoteSpike
远程订单存储健值
typeRemoteSpikeKeysstruct{
……
】
……
不知不觉,时间已经过去了一个半小时,反正刘副总是听不懂,那些代码看的晕头转向。
技术问题终于讨论的差不多了。
铁路集团的技术专家看向了刘副总并且带着肯定的目光轻点了一下头,刘副总立马就明白了,果断的转投看向罗晟问道:“罗总,如果提供这么一整套完善解决方案,报价是多少?”
罗晟直言:“每年支付10个亿。”
刘副总听到这个数字差点没有一口老血喷出来,12306票务系统一期工程的预算也才3个亿,这样的报价简直贵到难以接受。
……
被美女总裁‘娶’了的孤儿何金银,一直被人看不起。直到有一天,一个老头子找上他,说他是隐国继承人…...
婚前,她对顾景渊避之不及。婚后,他问财富,权利,你想要的我都可以给你,我只要一个孩子,你给不给?她疯狂点头给给给,多生几个好不好呀?放着那么优质的男人自己不睡,难道还等着别人来拱?婚后顾景渊的生活是帮老婆虐渣,虐狗,跟老婆生很多很多猴子!人前,他是风靡万千男女,权倾京都的禁欲男神。人后,只有秦瑟知道...
我在很小的时候经历了凶煞的百日关,但却因此因祸得福,拥有了一双奇特的阴阳眼。阴阳眼不是透视眼,却能够看清百鬼。...
地球毁灭,人类危急,生死存亡之际,可怕的意外和灾难,永远不知道是哪个先来。唐安觉得,他就是一个普通人,天塌了,有个子高的人去顶,可有一天他发现,他成了那个个子最高的人。...
本书简介亲,你看小说时,曾经为里面的某个阴险狠毒却可怜可悲的女人而遗憾吗?你看电视时,曾经为某个痴情无悔却最终独身的女人而心疼吗?如果有,那么请你不要走开,本文中,作者为这些痴情女子在二十一世纪精挑细选了多位精英男士,保证让这些痴情女子脱离曾经的苦恋,有个幸福美满的结局。本文不虐人(可能吧),不黑人(看我喜不喜欢),喜欢此类型的快到我的碗里来吧。不要客气的收藏一下吧O∩∩O。亲爱的们,刚刚编编下达通知,说周日入V入望大家能一如既往的支持我,谢谢!O∩∩O伯研的文。...
年锦书为了飞仙历经万苦,临门一脚,被死对头雁回活活气死,功亏一篑,重生了!重回年少,她看着那个意气风发的天才少年,行啊,骂我注孤生心狠手辣是吧?仙门大会上...