[心得] 买票的时候看了一下运作方式

楼主: cornguo (T__T)   2014-12-28 11:46:49
因为职业病所以昨晚就稍稍做了一些功课,
http://www.slideshare.net/ktchiu1972/ss-33943559
第一次用拓元的系统,想说看看架构大概是怎样,
就用了已知的知识去翻了一下。
1. 先讲讲新闻打很大的服务器
所谓的亚马逊服务器,就是 Amazon 的 EC2,
拓元使用的系统放在 us-west-2 这个 data center
售价很公开透明 http://aws.amazon.com/cn/ec2/pricing/
400 万台币大概是 125,988 美元
昨天晚上查了 DNS,看网址指到了几台机器,
共查到 12 个 IP,列表如下
50.112.251.26, 50.112.98.227, 54.214.0.211
54.214.22.1, 54.214.249.167, 54.214.26.191
54.214.41.66, 54.214.9.190, 54.244.120.227
54.244.127.243, 54.244.92.200, 54.244.95.181
所以猜测网页端是开了 12 个 instances,
假设提到的金额只是拿来买前端网页的服务器,
那么一台大概花了 10,499 美元.. 大家可以对照一下那张表。
至于图片什么的则是放在 Amazon CloudFront 上,
售价也很透明 http://aws.amazon.com/cn/cloudfront/pricing/
这部分就不多赘述。
2. 网页技术的部分
本来以为会看到很先进的系统,
看 response header 知道是 nginx,但不确定是哪种语言写的,
在看了 cookies 之后,发现有 YII_CSRF_TOKEN 和 SID,
其中 YII_CSRF_TOKEN 就透露了他们使用的是 Yii Framework
网址 http://www.yiiframework.com/
网页的话是传统的 jQuery + AJAX,
然后系统有个 minifier 去压缩 javascript 跟 CSS (简单说是减少流量)
登入的部分使用的是 oAuth,
比较让人担心的是登入时没有使用安全连线,
如果在不安全的网络下操作可能会有个资被窃取的疑虑
欸不过也不用太担心啦,因为要做到这件事很费工,囧
一个牵涉到个资和金流的网站居然没有安全连线,担忧啊
3. 数据库部分
因为看不到所以只能用猜的,
如果是前面投影片提到的 Oracle solution 理论上不会有大问题
4. 购票部分
今天在买票的时候无聊开了开发者工具在看,
在选区页面按下送出,浏览器才开始送 request 去问服务器剩多少位子
接着就会看到转转转动画的页面
大家都觉得转转转好像做了很多事,
但实际上浏览器是每隔一小段时间问服务器有没有空位
如果用很纯爱游戏 (?) 的方式写,大概是这样:
(按下送出)
浏览器:欸欸服务器君,你可以帮我问问数据库剩几个位子吗 (羞)
(等待一段时间)
[GOOD ENDING] 服务器:浏览器君,有的,我把资料传给你,记得去缴钱嘿
[BAD ENDING A] 浏览器:服务器君,你为什么不说话 (然后再问一次)
(这个结局前端不会有任何显示,画面继续转圈圈)
[BAD ENDING B] 服务器:浏览器君,感谢你的耐心等候,但我这边没有位子了
(接着使用者就被导回场次页面,要重点一次)
[BAD ENDING C] (服务器君已读不回)
== EDIT ==
这边补充说明一下,前面有提到 12 台服务器,
所以浏览器君每次都是向其中一台机器问..
也就是说,如果你今天开了很多浏览器君,
他就有机会问到一台有回应的..
可是瑞凡我照着说明只开了一个视窗等了半天却是 BAD ENDING Q__Q
== /EDIT ==
然后我今天一直在重复 BAD ENDING,所以不知道之后进到付款会如何 Orz
不过有趣的是信用卡有 15 分钟限制,
如果接上去的金流系统挡不住大量交易请求,最后也是 GG
反而是 ATM 转帐部分有一整天,所以只要交易纪录还在,
理论上转帐帐号生得出来是可以购票成功的..
这大概说明了为什么使用 ATM 的人在一开始好像比较容易成功 (?)
然后就是.. 可能开一堆视窗狂按 F5 重刷会比乖乖等待更容易买到票
通常最弱的一环会是压爆系统的那根稻草,
今天开售票网页都开得出来,猜测前端没太大问题,
后面的资料查询和金流可能是这个系统未来需要加强的部分..
说了这么多,最后还是要哀号一下我没买到票啊啊啊啊啊啊
四百万可以做很多事情,
下次可以选一个安全性和技术好一点的售票网吗拜托 Q___Q
作者: PTTOnline (PTT非官方帐号)   2014-12-28 11:48:00
怎么没人推!!
作者: linda1217   2014-12-28 11:49:00
专业 推
作者: yeanla (微笑的魚)   2014-12-28 11:49:00
因为看不懂XDD
作者: AAU (24)   2014-12-28 11:49:00
看不懂
作者: etjames07g (moo)   2014-12-28 11:49:00
你好强 !!
作者: alang1231 (ALang)   2014-12-28 11:50:00
我妈问我为啥跪着用电脑
作者: MuscleHunk (肌肉)   2014-12-28 11:50:00
版大你好强啊!
作者: XDDDD555 (happy summer)   2014-12-28 11:50:00
看不懂 但是给你推XDDDDD
作者: ipien (也许有一天)   2014-12-28 11:50:00
专业推!
作者: nbyanzi (Nancy)   2014-12-28 11:51:00
专业推
作者: ilikemay (没有后路退)   2014-12-28 11:51:00
纯爱游戏对话我笑了XD (重点错#
作者: a20246 ( )   2014-12-28 11:51:00
好专业
作者: superching (ching)   2014-12-28 11:51:00
你好棒!虽然还是不太理解,但祝你清票后买到票
作者: yelmido (yelmido)   2014-12-28 11:51:00
感谢分析,推一个
作者: Yelnats28 (live)   2014-12-28 11:51:00
XD
作者: iPodtouch (苹果迷)   2014-12-28 11:51:00
专业推
作者: sunny1993521 (taka我的)   2014-12-28 11:51:00
还是ibon系统好阿说实在
作者: bawbaw7 (宝宝)   2014-12-28 11:52:00
好专业!
作者: anngo0220 (吱吱)   2014-12-28 11:52:00
专业推~~~XDDD纯爱游戏对话好好笑~~~很生动
作者: chiaamay (STAYREAL)   2014-12-28 11:52:00
.XDDD
作者: z75383 (Jerry)   2014-12-28 11:52:00
帮推XD
作者: Svock (Svock)   2014-12-28 11:53:00
不懂 但是对话超Q XDD
作者: lovemi7813 (qusdygksdhQk)   2014-12-28 11:53:00
对话笑了XD
作者: s155352 (Sydney T)   2014-12-28 11:54:00
推~
作者: LEGO (568410102)   2014-12-28 11:54:00
专页推
作者: yunimath (我不是数学系的啦><)   2014-12-28 11:55:00
作者: zoepeng (:!)   2014-12-28 11:56:00
专业!竟然看得懂耶
作者: a611486 (钟仔)   2014-12-28 11:56:00
推!
作者: bsook (没有好好休过假日)   2014-12-28 11:56:00
推~太专业了。
作者: xgdbf (pipi)   2014-12-28 11:56:00
有让我买到票就是好系统 况且也才崩溃一小时又不用排队等
楼主: cornguo (T__T)   2014-12-28 11:57:00
补充说明一下,多开几个视窗成功率可能会比较高的原因
作者: ceeer (MadeInTaiwan)   2014-12-28 11:57:00
专业推推~特别推纯爱游戏那段XDDDD
作者: Mez (你奈人生何~)   2014-12-28 11:58:00
吼~~co君~~您怎么这么专业 但是你可以早点说吗XD
作者: joyyan   2014-12-28 11:58:00
作者: LUCKLIN (冰)   2014-12-28 11:58:00
好生动的比喻,哈哈哈!专业给个赞~
作者: ceeer (MadeInTaiwan)   2014-12-28 12:00:00
这篇要收一下XDD
作者: staramit (矢大)   2014-12-28 12:00:00
专业推!!另外板主勒!?可以整理一下板面吗
楼主: cornguo (T__T)   2014-12-28 12:01:00
早知道我也加入 F5 狂刷军团了 QQ
作者: bignoob (有我嫩嗎)   2014-12-28 12:02:00
请问 按付款却导到节目列表 是因为在PHP中限制了某些POST参数的关系吗
楼主: cornguo (T__T)   2014-12-28 12:02:00
@bignoob 我觉得可能只是 session 爆掉了..唉唷刚刚发现我转帐部分时间写错,是一天不是一小时
作者: josietao (揪西)   2014-12-28 12:06:00
专业推!!

Links booklink

Contact Us: admin [ a t ] ucptt.com