无事说新年,闲来再吐槽

又到了年关了,马上要回家过年了。一说到过年,对于我们这些在外漂泊的游子来说,买一张回家过年的票,回家陪家人过年就成了最大的期许了。一谈论买票,又不得不说火车票,如何这般难买的问事情了。像我一样的码农看着一张张的票瞬间刷完,不禁又要吐槽12306了。

哎,其实习惯了,这票难买,为买票发愁吧,也不是一年两年的事儿了。只不过以前没出来工作时候,没出过远门儿,也就不知“愁”滋味了。

记得去年同事之间为买火车票难的事情,还吐槽过:诶,这12306呀,花了几个亿呀,怎么就这么烂,动不动就卡死,真TMD坑爹。还有同事紧跟着说了:要是交给阿里团队,绝对能够做的好。我相信,这种埋怨票难买而有情绪的大有人在吧,我就是其中一个。那把12306交给阿里或者其他的互联网大佬来开发情形是不是会好一点呢?我想可能会好一点,但是解决不了根本问题。乐观地估计一下:该抢不到的还是抢不到,该卡死的照样卡死!

有的同志可能会吐槽我了:信口开河,您怎么知道阿里做不好一个12306呢?大概会有“子非鱼,安知鱼之乐?”的意味在里面。那先不看我是怎么想的,为什么会得出这样的结论,让我们一起来看看前淘宝工程师是怎么说的。

在题目以“前淘宝工程师发帖谈12306:曾嗤之以鼻 现在认为几乎是奇迹”的文章中作者写到:当自己还是在一家百强民企做电商副总的时候对12306嗤之以鼻,觉得他们做得太烂了,认为自己能带队花几百万半年时间做个好的出来。于是他狂妄地想做一个开源的订票系统给他们。花了一个星期时间思考建立数据模型,思考到库存这一步的时候,才发现,12306的库存复杂性比淘宝、京东高很多倍,运算量也大很多倍。传统的分布式数据库、缓存、负载均衡技术并不能恰好满足12306的需求。他还进一步从技术的角度分析了复杂性的问题:在平时,12306也就是个正常的电商网站。但一到黄金周,12306就是一个全站所有商品都秒杀,所有SKU都是动态库存的变态。这就意味着即使不考虑线下既有的电话、代售点等渠道,要实现一个12306,最少最少也是千万级别的硬件投入(这是当时的估算,没有精算,可能与实际相差较大,总之,我说得不一定对,12306的业务也许没我说的那么复杂,但也绝不是某些人喷的那么简单),软件和人力另算。那些叫嚣只要40台服务器、只要2个架构师4个程序员、大谈分库分表和前端CDN的人们,只是纸上谈兵罢了。所谓初生牛犊不怕虎,做了三年CMS和BBS,就以这个经验来喷12306,未免太天真了。

文章还说了,媒体人喷12306,是他们不懂技术,没有能力和耐心来分析背后的难度。技术人员喷,则是因为大部分的技术人员在短时间思考时,容易陷入过于乐观的误区,经典的例子就是估算工作量,程序员们往往容易估算出一个超短的工期,把写程序的工作乐观地想象成了打字员照稿敲键盘的工作。文章感叹道:事非经过不知难,在网上批判12306的人,大部分还是形成了【国企=垄断+腐败+低效】的思维定势。小部分是真的轻视了它的难度(其实很多人包括我都有这个认为毕竟那是3个多亿做出来的东西)。对于这个复杂级别的项目,花费如此之巨,文章做了一个横向的对比:百度一年的研发费用(不含硬件)是10亿,这个数字来自百度财报。网上能查到。3亿看起来好大一个数字,真用到超大型的电商系统、搜索引擎系统里面,其实也不算什么天文数字了。

我们都知道,12306买票基本上市秒杀。那么秒杀究竟是个什么概念呢?或许一般人包括做技术的没深入不怎么了解。还是上面那篇文章中,作者现身说法,叙述了自己抢天猫魔盒的事情。15000个天猫魔盒,19秒内全部抢完!在这个过程中还出现了服务器错误的页面。反复刷新几次,就告诉秒杀结束了。接着说了淘宝技术团队的配置相关情况,得出了为什么淘宝也会出现12306同样的情况的问题说在:一是要尊重物理原理;二是要考虑经济效益。简单来讲就是技术不能解决所有问题,而且不可能为了某一个点而投入巨大的资源消耗。

当然文章还讲了不少技术层面的问题。其实呢,我觉得这些都是有道理的。当然最关键的还不是技术问题(当然技术也确实存在需要改进的问题),打个不恰当的比方:巧妇难为无米之炊。一事物与周围事物的联系时事物存在和发展的条件。一个国家即使拥有了发达的生产能力,但是人口、资源有限,消费能力不足,能源需要进口,你的经济就严重依赖海外市场。比方说日本。一票难求最根本的原因在于铁路运输运输在交通运输中的主导作用一时无法改变,而随着经济的发展,各个地区之间的相互联系日益紧密,人口流动量也日益加大,铁路运输能力的不足和时间段内巨大的人口流动之间的矛盾一时无法消弭。只有那么的线路、那么多的车次。那么快的速度。你想他又能怎么满足得了一个春节几十亿人次的人口流动呢?这放在任何一个国家都是个难题。

为之奈何?!能有啥办法呢。对于像我一样的码农!我又不能改变什么,说了也是白说了。凑合着能回去就行了。哎,而今识尽愁滋味,欲说还休。欲说还休,却道天寒好个冬。

时间: 2024-10-18 03:49:45

无事说新年,闲来再吐槽的相关文章

吐槽国内各大公司的漏洞报告平台

现在国内众测平台,越来越多.乌云,估计大家都知道,一提到漏洞平台,差不多瞬间想到的就是乌云吧,其他的也不是,威客众测,补天,TSRC,ASRC,BSRC.Sebug感觉现在都不行了,负面新闻太多了. 现在火的,估计也就是乌云,乌云核心白帽子多,粉多,喷子也多,所以就一直火.威客众测也不错,提交漏洞,还可以赚钱,还合法. 国内外有哪些漏洞信息发布平台? 高质量,更新及时,反应迅速的那种 比如:exploits-db.cve和赛门铁壳安全中心 或者说像乌云之类的安全应急响应平台 国内的主要包括: C

刀塔传奇吐槽

1.竞技场建议:竞技场增加手动摆放位置的机制,使PK更有技巧型,可以由玩家定义好,位置进行进攻.防守.如果可以在PK的时候,进行位置更好调整更好,如果在PK挑战的时候,点一号位和三号位对调,让挑战的人更有挑战优势,现在的挑战PK纯属运气.英雄培养程度决定了大部分因素. 如今现有的模式,同样两只队伍5个共同的英雄,最后结果运气成分占有主要地位,游戏GM可以在各论坛推出各种特色搭配,最好形成胡克的形式,比如肉盾流.减甲流.法师流.物理攻速流.物流加攻环流等等.让游侠有多种随机打法,竞技场第一的玩家出

行峭窘杂患系瞻喂遮禾洞再

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

使用IDA静态分析解密《舰娘Collection》的lua脚本

好久没写东西了,换工作之后忙得一比.你说创业?风太大没听清啊看了看以前写的东西,觉得以前写得太严肃了,从现在开始要轻松一点,要做一名逗逼码农. 本文不会介绍破解的细节,最终完成破解所编写的代码也不会公开.虽然这个游戏非常无耻,但已经上线运营了,我不想被查水表啊.所以,该文仅以这个游戏为例,讲一下如何使用IDA静态分析破解简单的cocos2dx-lua脚本加密. 对了,这里说的<舰娘Collection>是一个手游,不是那个舰娘,嗯. 为什么我要突然去搞破解呢?事情是这样的:某天,一个以前的关系

曾经红火的中国互联网站长都去哪儿了?

曾经红火的中国互联网站长都去哪儿了? 高峰时期曾有过万人报名的中国互联网站长大会活动,今年却静悄悄. 知名个人站长卢松松在其博客爆料称,已经连续举办九届的活动今年停摆,并且活动在去年就改了名,原来的"站长"二字被抹去,取而代之的是互联网创业者大会. 早就有人唱衰站长,消息传开之后,"站长落伍论"重新占领市场.自媒体人楼东升一篇<创业这么热,为何站长消失了?>的网文更是引爆微信朋友圈,随之而来的探讨与反思无数. 中国互联网曾是众多个人站长缔造神话的行业.如

北京奥运

自传122.在佳木斯上网写作2008年7----我校搬迁 2008年六月四日我写一首<端午节是诗人节(七古)>过节中歌颂屈原:端午节是诗人节,诗祖屈原投汨罗.开创离骚楚辞体,谱写革新图强歌.内容现实情真挚,形式浪漫意活泼.粽子习俗两千载,中华传统在爱国. 2008年六月五日我写一首<我校搬迁(七古)>充满留恋怀念向往感情:我校搬迁至佳西,旧园拆毁成废墟.卖给一中建教室,读景思人入痴迷.昔日共处桃李园,小鸟大树百花妍.朝来夕往身相对,意合情投心相连.十年聚会突离分,面对楼园幻友人.楼

小程序服务端集成微信支付

摘要: 换取openid->统一下单->发起支付,三步走,其中二次签名比较坑人. 该demo源码已托管到码云:http://git.oschina.net/dotton/lendoo-wx,欢迎下载. 理论上集成微信支付的全部工作可以在小程序端完成,因为小程序js有访问网络的能力,但是为了安全,不暴露敏感key,而且可以使用官方提供的现成php demo更省力,于是在服务端完成签名与发起请求,小程序端只做一个wx.requestPayment(OBJECT)接口的对接. 整体集成过程与JSAP

appium运行报错java.net.SocketException: socket write error

这个错我调了 快两天一点头绪没有,脚本正常跑没问题,但是就是控制台输出信息报错,没法定位问题在哪.报错如图: 虽然这个报错不影响测试结果,但是本人有强迫症,一定要查出究竟: 我的尝试: 1.那天试验,服务器上的代码没问题,我本地一运行就报这个错,结果我把系统重装了(先前我查了两个小时百度加上尝试,无果) 2.今天从中午开始又开始搞起来,起初怀疑是我的io操作引起的,结果在finanly加了process.destroy();及p.getErrorStream(),close也不行, 网上查了说是

Struts2拦截器之FileUploadInterceptor

一.它能做什么? 借助于这个拦截器我们可以实现文件的上传和下载功能. 理论部分: struts2的文件上传下载功能也要依赖于Apache commons-fileupload和Apache commons-io两个开源项目,要使用上传功能就需要把它们引入到classpath中. 比如考虑上传文件,几个关键点就是可以传什么类型的文件?可以传多大的文件?传过来以后放哪儿?叫什么名字? 当文件上传过来的时候是放在一个临时目录里的,我们在Action中持有一个成员属性File,这个File指向的就是服务