从技术角度解析12306,智商需要充值的就别进了,进也看不懂
整理时间:2014-01-13 11:08 来源:www.vimiy.com 作者:编辑 点击:次
【楼主】2014-01-13 16:29
» 从技术角度解析12306,智商需要充值的就别进了,进也看不懂
这两天,看见不少人在吐槽12306,当然,大多数是从门外汉的角度。
所以不少见解可以说,令人可笑。
我呢,作为一个中低端水平的码农,粗略的给大家从技术角度解析一下12306,贻笑大方,敬请见谅。
一个网站,是分成前端和后端,前端类似包装盒,后端才是真正的核心。
12306网站确实丑,不假,但是一些正规的网站,也是同样丑,不是每个网站都是新浪,qq这种门户型网站的。
华而不实也不是大家所希望的12306.
至于核心,也就是售票系统。
目前的业务流程是,登录->查票->买票。
从分流角度来说,登录可以单独分开。
目前12306也是这样做的,具体体现在之前,卡登录。
查票和买票,从数据库角度讲,不管前端有一千,一万个还是一亿个请求,都必须将查询以及买票的请求提交至数据库,而且是实时的,这是无法绕过的。
而这个数据库必然是唯一的,至少也是全局同步的。
但是查询与购买又有区别,区别在于,查询是读取你在当前时间节点所剩的票数,而购买,则是在你购买票结束时,将数据库中剩余票数进行更新。
注意,有可能在还有1000张票时,有10000个人同时在这个时间节点读入。
当你查询到票之后,继续购票流程,这时要注意的是当前1000个人锁定了剩余车票时,剩下的9000个人实际上是买不了车票的。
整个系统,瓶颈在于购票,购票操作需要实时更新数据库,而这个数据库操作又需要将数据库锁住,避免有操作数据更新。
不管你前端再怎么泛出花来,单位时间节点内,数据库只能做相应量的购票操作。
数据库的实时性和效率是相互制约的。
网友评论2014-01-13 16:31
楼主讲的小学生都能看明白。重点是?
网友评论2014-01-13 16:33
啥意思吗?你要表达啥?
网友评论2014-01-13 16:33
我是进来看我智商需不需要充值的 看来是需要了 楼主有渠道吗
网友评论2014-01-13 16:34
你这也叫码农?
网友评论2014-01-13 16:34
然后呢,等着充值呢,别让大伙失望啊。
网友评论2014-01-13 16:34
为了证明我的智商我进来了
网友评论2014-01-13 16:35
这。。。。楼主你别跟我说你说的完了。。。。
网友评论2014-01-13 16:36
楼主我这里还有5毛钱智商余额,需要帮你冲了吗?
网友评论2014-01-13 16:36
我觉得楼主智商需要一张季卡
12306根本上和码农半毛钱关系都没有
供需关系是你用0和1能解决的?
网友评论2014-01-13 16:37
看到楼主发的帖子,我觉得我的智商还可以抢救一下。
网友评论2014-01-13 16:37
扯
什么叫不能分开 唯一的数据库
每个车次一个数据库不就分开了 你告诉我各车次之间需要同步什么信息》?
网友评论2014-01-13 16:37
楼主没写完碰到发布键了么
网友评论2014-01-13 16:37
其实我比较好奇,铁道部的数据库是怎么存放每列列车的车票信息的
网友评论2014-01-13 16:37
Reply to Reply Post by 剑寒十九州 (2014-01-13 16:31)
你大学一定没上过任何一节与码农有关的课
网友评论2014-01-13 16:38
纠正最后句,是当前10000人都锁定了票,但是票只有1000张,所以你买完有个类似于排队的过程,请你稍等,后面你没排到,准备换一班次的时候,发现别的班次都卖完了,所以你暴走了
之后铁道部为了缓解你的情绪,改进算法和服务器,让排队时间尽量缩短,但是依然无法获得很好的效果,于是你来微民网发帖了
网友评论2014-01-13 16:38
那九千人看完了问楼主,下面没了?
网友评论2014-01-13 16:38
感觉是楼主智商需要充值
网友评论2014-01-13 16:38
技术手段永远无法解决运力不足的问题,但从技术上来说12306现在已经很好,要做到的是技术层面和制度层面上把漏洞堵上防止黄牛。
网友评论2014-01-13 16:38
Reply to Reply Post by gan178 (2014-01-13 16:36)
这头像配上这内容,不错
Copyright 2012年2月8日 苏ICP备12030052号-3