免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux
打印 上一主题 下一主题

[其他] 从12306说起 建设高可用高并发网站何种服务器架构更合适?(获奖名单已公布) [复制链接]

论坛徽章:
13
CU大牛徽章
日期:2013-04-17 11:20:3615-16赛季CBA联赛之吉林
日期:2017-05-25 16:45:4715-16赛季CBA联赛之福建
日期:2017-03-13 11:33:442017金鸡报晓
日期:2017-02-08 10:39:422017金鸡报晓
日期:2017-01-10 15:13:29IT运维版块每日发帖之星
日期:2016-03-15 06:20:01IT运维版块每日发帖之星
日期:2015-10-02 06:20:00CU十二周年纪念徽章
日期:2013-10-24 15:41:34CU大牛徽章
日期:2013-09-18 15:15:45CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-04-17 11:46:39CU大牛徽章
日期:2013-04-17 11:46:28
11 [报告]
发表于 2012-03-22 09:31 |只看该作者
我们解决问题一般要找到问题的根源,12306作为一个售票系统为什么同时有那么多链接?为什么没有12306时同样多的票也能在很短时间卖出去?
其实我们比较一下窗口(电话)买票和网站买票有什么差异可给我们提供一些解决的思路。
1. 窗口(电话)买票(下面就称为窗口买票)都是专人一进一出依次处理,很多个窗口可以同时处理(有限但还是很大的一个量,并发应该还是100W级),即并发有上限。也表明数据库查询实际上是能支持一个比较高的量的。
2. 窗口买票时用户提前知道几个车次备选,即有预查询,一些临时车次信息根据起至点可以快速查询(查询人员是专业人员)。如果查询和订票进行一定程度的分离还是可以实施的。
3. 窗口可以很快确定是否购买成功,及时出票。(付费途径便捷2分钟内左右完成,预订锁定——解锁确认完成,身份信息输入专人也很快)
4. 其他相关(飞机实现的是电子客票+登机换登机牌)
其实我认为影响网上购票比较麻烦的是购买环节中个人信息输入和付费两个步骤因为用户不熟悉和本身的繁琐造成效率低下,进而引发锁定时间过长(一定程度的阻塞)的雪崩效应,整体降低网站效率。

改进思路:
1. 分离查询与订票,查询可以分布并发,其实所有的数据购票瞬时信息完全可以做到内存数据库中读(拟静态的),支持很高的并发;
2. 订票流程排队限定链接数量(预排编号),一进一出;
3. 个人信息预先输入(订票前);
4. 改进付费流程(实行预扣制),在查询时依据车次等级等预先完成,订票完成后根据实际情况扣除(这个其实不光是12306问题,还需要和网络支付等进行协调解决,而且是很大一个问题,也是解决关键)
5. 出票是否可能类似飞机的电子客票+换登车票(现场专门窗口处理,一种程度的分布处理)


论坛徽章:
0
12 [报告]
发表于 2012-03-22 09:48 |只看该作者
aindk 发表于 2012-03-21 22:53
个人认为
像开分店得思路估计无法解决,实时票务的问题,因为 开分店可以用来分摊高并发请求的需求,但是及 ...



    首先赞同目前的业务架构已经不是oralce或者db2这种关系型数据库单一可以解决的问题了,想想过年期间的哪个并发量,也绝不是单纯的堆叠服务器可以解决的.

    更多的要从软件架构本身来解决这些问题,oracle,服务器之类的只是实现这个架构的工具,但是这些工具本身都有他的局限性,所以在设计时应该要考虑这些问题.

    我本身不做系统架构设计,没有太多发言权了.

论坛徽章:
0
13 [报告]
发表于 2012-03-22 09:52 |只看该作者
wxxszzz 发表于 2012-03-21 22:08
一点愚见,作为中国的铁道部,现在遇到的问题,不是钱的问题,而是一个思路的问题,一个我们程序员写程序的 ...

预先生成车票不太可取。因为火车不是只有出发站和终点站的,一列从深圳到武汉的火车,有的人可能从深圳做到长沙就下了,有的人从长沙到武汉,这票你怎么生成?
按车次负载才是硬道理,因为不管怎么的,到买票那一步,车次是都是定了的。一点愚见。

论坛徽章:
1
技术图书徽章
日期:2014-02-05 21:05:50
14 [报告]
发表于 2012-03-22 10:06 |只看该作者
多开几家店,最简单了!将票放在不同的篮子里,热点地区,可以预先领号方式,阻止太多人临时抢入!

论坛徽章:
0
15 [报告]
发表于 2012-03-22 10:06 |只看该作者
参考百度?

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
16 [报告]
发表于 2012-03-22 10:09 |只看该作者
云?我看12306(铁道部)才真的要晕了。
花费好几亿,就搞出个这么个东西,出了错还要用户自己认倒霉(付了钱却出不了票),就这样的花费,这样的态度,不亏损就怪了。

论坛徽章:
0
17 [报告]
发表于 2012-03-22 10:19 |只看该作者
哈哈,我觉得这个帖子不再是说tdb的这个系统如何不给力,而且讨论一下改进的办法以及未来这种模式下设备的选择,架构的设定等等

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
18 [报告]
发表于 2012-03-22 10:43 |只看该作者
aindk 发表于 2012-03-21 22:53
个人认为
像开分店得思路估计无法解决,实时票务的问题,因为 开分店可以用来分摊高并发请求的需求,但是及 ...


那这个和硬件的关系不大么?比如是过去那种小型机的积极方案靠谱呢,还是现在的流量的x86集群靠谱呢?

论坛徽章:
6
CU大牛徽章
日期:2013-03-14 14:14:08CU大牛徽章
日期:2013-03-14 14:14:26CU大牛徽章
日期:2013-03-14 14:14:29处女座
日期:2014-04-21 11:51:59辰龙
日期:2014-05-12 09:15:10NBA常规赛纪念章
日期:2015-05-04 22:32:03
19 [报告]
发表于 2012-03-22 10:51 |只看该作者
marxn 发表于 2012-03-21 18:25
回复 3# wang290


是的,我想既然是全国范围的车票系统,分开每个局端是不可行的,还是需要中央集中处理,这样的架构设计是业务决定的,没有办法挑战了

论坛徽章:
0
20 [报告]
发表于 2012-03-22 11:14 |只看该作者
在淘宝上开家店,省事方便
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP