手机浏览器扫描二维码访问
“最后是预扣库存。从上面两种方案的考虑,可以得出结论:只要创建订单,就要频繁操作数据库IO。那么有没有一种不需要直接操作数据库IO的解决方案呢?答案是有,就是预扣库存,先扣除了库存,保证不超卖,然后异步生成用户订单,这样响应给用户的速度会快很多。”
“那么怎么保证不少卖呢?用户拿到了订单,不支付怎么办?订单都应该有效期,比如说用户五分钟内不支付,订单就失效,就会加入新的库存。订单的生成是异步的,应该放到即时消费队列中处理……”
刘副总听的云里雾里的,但是他发现罗晟和他带来的几个技术专家交流的愈发火热,似乎也得出了一个信息。
找对人了!
这时,罗晟打开了房间里的墙面上的大屏幕,他也拿来了一台笔记本工作电脑打开,示意众人看向主投屏,自己一边操作电脑一边说道:
“Go语言原生为并发设计,我就采用Go语言给各位演示一下单机抢票的具体流程以及我优化后的解决方案。”
“Go包中的init函数先于main函数执行,也在这个阶段主要做一些准备性质的工作。系统需要做的准备工作有:初始化本地库存、初始化远程redis存储统一库存的hash键值、初始化redis链接池。”
“另外还需要初始化一个大小为1的int类型,目的是实现分布式锁的功能,也可以直接使用读写锁或者使用redis等其他方式避免资源竞争,但是使用el更加高效,这就是Go语言的哲学,不需要通过共享内存来通信,而是通过通信来共享内存。Redis库使用的是redigo,下面是代码:
【
localSpike包结构体定义
packagelocalSpike
typeLocalSpikestruct{
LoStot64
Loeint64
}
…
&eSpike对hash结构的定义和redis连接池
packageremoteSpike
远程订单存储健值
&eSpikeKeysstruct{
……
】
……
不知不觉,时间已经过去了一个半小时,反正刘副总是听不懂,那些代码看的晕头转向。
技术问题终于讨论的差不多了。
铁路集团的技术专家看向了刘副总并且带着肯定的目光轻点了一下头,刘副总立马就明白了,果断的转投看向罗晟问道:“罗总,如果提供这么一整套完善解决方案,报价是多少?”
罗晟直言:“每年支付10个亿。”
刘副总听到这个数字差点没有一口老血喷出来,12306票务系统一期工程的预算也才3个亿,这样的报价简直贵到难以接受。
……
一朝穿越,无痛当妈,末世木系大佬陈秋湘只能说凑合着过,还能穿回去咋地?大雍朝一代传奇首辅秦墨琰的一生坎坷,年少的时候父亲早逝母亲改嫁,只有祖母忍着失去丈夫儿子的痛苦将他拉扯到十岁就去世了。幸...
资质平平和长生不死两种属性加身,陈生只想大喊一句三十年河东,三十年河西,莫欺老年穷。当宗门天骄崛起的时候,陈生还活着。当宗门天骄晋升长老的时候,陈生还活着。当宗门天骄寿终正寝的时候,陈生还活着。活着,熬成老前辈,他就能对小辈指手画脚,以大欺小了。悠悠岁月。江山代有才人出,各领风骚数百年,而陈生长驻光阴岁月不死不灭,淡看天骄起起落落,超然物外。...
欺人太甚世间不平,我一剑斩之!八年昏迷,看透人心!夏羽苏醒后,发现世道都变了!当年小弟,成了天才当年手下,成了恶仆当年慈父,竟是仇寇!原来这就是人心!那么本该属于我的,就给我拿来吧!...
我本修仙之人,你和我比什么医术?在我面前不要动什么阴阳八卦,收起你那一套算命的骗局,老子这个飞天遁地的修仙者都不敢说通天彻地,你们有什么勇气说预知过去未来?滚滚滚...
这是一个沦为大茶壶的落魄大学生带着一群小菜鸟玩网游的故事。重回游戏后,面对一双双惊诧的眼睛,他说他是魔兽天王,众人摇头不信他说他没交过女朋友,众人依然不信,他说他伏杀了无数高手,众人这下信了原来是你这个天杀的老贼!人生时起时落,在夹缝中求生存才是王道主角。曾经辉煌过,如何能甘心平凡,且看主角如何在新网游世界中再...
九重天子寰中贵,五等诸侯门外尊。争似布衣狂醉客,不教性命属乾坤!...