免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
31 [报告]
发表于 2012-03-22 16:03 |只看该作者
xly_971223 发表于 2012-03-22 14:59
订票系统可以理解成一个跟taobao‘网一样的购物系统 !
车票等同于商品,只不过是每件商品的库存只有一件罢 ...


没法弄,一张卧铺从北京到广州,有n种卖法的,没有上面说的这么简单,要实时的信息集中并计算,否则会出篓子咯

论坛徽章:
0
32 [报告]
发表于 2012-03-22 16:48 |只看该作者
分层处理。主服务器往下层服务器分配车票名额。这样貌似可以避免服务器过于臃肿。愚见

论坛徽章:
0
33 [报告]
发表于 2012-03-22 19:29 |只看该作者
从技术角度解决网站访问问题,不外乎两个:开源、节流

开源:提升网站性能,提高网站负载能力

节流:减少无效点击,降低网站负载。比如根据访问者接入IP,在页面显示几日内已经无票的目的地,避免用户再登录、查询。查询的时候,已经无票的车次不予显示,并提醒用户,当前只显示有票的车次。

为了方便用户查询所有车次信息,可以另外开设一个网站,仅供用户查询

从用户使用方面考虑问题,可能比纯技术角度解决要好一些。如何让用户减少查询次数、减少查询时间

只有注册用户才能查询,仅仅查询车次信息的用户到专门的查询网站去查。同时在查询网站上面定时更新一下余票信息。用户如果查到目的地已经无票,也不会再去骚扰订票网站。

论坛徽章:
0
34 [报告]
发表于 2012-03-22 19:46 |只看该作者
本帖最后由 wxxszzz 于 2012-03-22 20:15 编辑

回复 13# liuyxhello

这个不是问题,确定的列车,确定站点数,按最小的单位生成车票。
一列火车有 a站 b站 c站 d站 e站
客户需要从A站到E站,他就是买了a-b-c-d-e五张票。
客户需从B站到D站,他就是买了B-C-D三张票

一列火车,2000个座位,有50个站点,那么就总共有100000张票。

从起点到终点,他就是买了50个站点的50张票。

如果这列火车一天开两班,那就是200000票,预先生成10天的票,就是2000000张票,卖出去的票,只要是过期一天,在数据库里只需要改个标志,改个日期就又可以

继续卖票了。当然在修改这前得做一下统计工作。确定的列车,确定的站点,这个车票数据是不需要每天都去生成了。可以重复利用。

关键的问题是这样预先生成了车票,就可以节省很多资源。可以进行分流,可以无限制的扩容。繁忙的时候出个公告,某时间某列次火车100000张车票,交给淘宝去卖。

或者其他购物网站。因为确定的车票,就可以非常自由的进行流动,无所谓用多少台机,机器放在那里,只要联网就成。

另外我想说的是不要觉得票很多,会浪费纸张,会浪费资源,随着社会的发展,无纸化的车票离我们是不远的。手续式的联网扫描器。一扫啥都知道。

在目前的条件下,可以用我们的身份证作为上车凭证,网上付了钱,买了票,上车是一刷就知道。我是那辆列车,

经过了几个站点,付了多少个站点的钱。

不象现在,从北京到上海,一路经过了多少个站点,我们都不知道。为什么需这么多钱来买票,我们也不知道。

其实这个铁道部门是应该给我们提供的,我们也应该是明确知道的。

   

论坛徽章:
0
35 [报告]
发表于 2012-03-22 20:43 |只看该作者
本帖最后由 yjyzfw 于 2012-03-22 20:54 编辑

化整为零。根据峰值的平均数和主机运算能力及应用上升趋势(考查区间至少是最近的三年以上的数据),布署计算能力,按合适的方式合理分流,数据库布署是关键,建议按省建立自己的车票数据库。主要有五个参数:日期,线路号,列车号,可预售票数,当前时间已售票数。这一记录必须第一时间明确给订票人队来抢,这里所要关注的是:1、确定是给哪些人来抢;2、如何才能更好地体现公平公正(服务和被服务两方);这一步所要关注的关键是排队问题:先是要对订票人按前三个字段来归类。这里应该存在一个进程的多个相同线程来处理全部的有效连接,同时要安排对应数目的栈(根据存储能力和可预售票数两者确定栈大小),以存放分拣归类的数据,然后将相应的当前记录送给各个栈相应排队者让他们抢(而不是所有的人)。将票给有效抢票人后将数据写入有效票库中,并同时将日期,线路号,列车号,可预售票数更新后反馈给新订票人队列。

当然最主要是提速,所以首先考虑合理安排订票流程,首先是告知日期,线路号,列车号,可预售票数,再是订票者身份认证(包含批量认证),还有是先付款还是后付款(最好是先付款),还有安全考虑等,均应合理考虑提速和安全的要求。
这就是我的粗略的考虑。

论坛徽章:
0
36 [报告]
发表于 2012-03-22 22:12 |只看该作者
回复 18# send_linux

这中应用级别必须上小机的,几台PC 机 开玩笑来着,我说的意思是可以用前置来分摊 请求得压力,而不是单纯的考堆硬件来 解决问题,


   

论坛徽章:
0
37 [报告]
发表于 2012-03-22 22:17 |只看该作者
回复 12# InfoSVC


恩,我是从数据存储的角度来考虑一下数据存储得解决方案,

其他比如整个系统的架构,我的想法是 “一句话来说就是不停的快速重复构建现实模型,来找出最终解决方案,通用行业系统估计无法解决这个问题。”

   

论坛徽章:
0
38 [报告]
发表于 2012-03-22 22:28 |只看该作者
回复 24# xly_971223

不同意您得观点
taobao的需求和铁道部购票的只是相似,而内在是不同得两个极端,
如,一个客户两点直接并不是直达车次,所以设计到专车换成,难道他需要进行两次购物吗?换乘问题,旅客高峰期 临客问题,然后,列车无座票,


10亿次请求,并不是真正得有效请求,而且从将来扩展的角度来说,票务的大集中是必须的,所以目前解决的问题应该是海量得高并发请求




   

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015年迎新春徽章
日期:2015-03-04 09:57:09
39 [报告]
发表于 2012-03-22 23:38 |只看该作者
回复 1# send_linux


相关问题讨论了有4次了,很多原因也说过了。

归纳总结一下,就一点:
你没事到14亿人口,春运出行人数首超30亿,2.35亿人选择铁路的国家搞秒杀,不是找虐么?
就是把火车票放淘宝、放百度、放腾讯上秒杀,一样挂。

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015年迎新春徽章
日期:2015-03-04 09:57:09
40 [报告]
发表于 2012-03-22 23:40 |只看该作者
另外,去年是开头的第一年,我相信,今年的春运将会有网络黄牛大军的到来,大家拭目以待。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP