免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 27597 | 回复: 29

[其它] 模拟12306购票系统的处理多用户购票网络编程(已公布获奖) [复制链接]

论坛徽章:
7
天蝎座
日期:2014-06-04 13:29:02子鼠
日期:2014-06-16 10:07:08IT运维版块每日发帖之星
日期:2015-06-06 22:20:002015亚冠之迪拜阿赫利
日期:2015-06-08 15:24:21IT运维版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之阿尔沙巴布
日期:2015-06-18 16:37:30IT运维版块每日发帖之星
日期:2015-08-06 06:20:00
发表于 2015-07-03 16:28 |显示全部楼层
公布获奖:
100元购书礼品卡:shenlanyouyu
图书一本:jieforest    lsstarboy    rickcafe   craaazy123



话题背景:


对,我们本期的结论是:技术大神是练出来!凡所有我们所崇拜的大神都有共同的特点就是”都解决过无数的技术难题“而练就一身本领,因本领大,故, 受人崇拜!为什么我们不创造条件强壮自己的技术本领呢?所以本期的话题讨论,找了网友工作中遇到的真实技术案例来进行讨论,在这里我们撇开侃侃而谈的趋势,一起面对真实的技术案例,发表我们自己的解决思路与方法,锻炼我们的编程思想与能力!


有奖讨论时间:2015年7月6日-8月6日


案例:模拟12306购票系统处理多用户购票信息的网络编程实现。

讨论问题:
1很多用户登录服务器是协议用TCP还是UDP?
2如果用UDP如何解决数据的不安全性,
3如果用TCP如何解决占用大连网络资源造成网络阻塞的问题。
(多个用户相当于多个线程,并通过socket与服务器建立连接。)


奖项设置:

最佳讨论奖1名:100元购书礼品卡
活动结束我们将选择较为活跃与深入的用户获得此奖,并有机会组织我们下期运维话题!

活跃参与奖4名书库技术书籍1本
活动结束我们将选择参与活跃网友获得此奖!


  参与系统架构师征文,可夺免费大会入场券 !

    一年一度的中国系统架构师大会震撼来袭了!SACC2015将于10月22日-24日在北京新云南皇冠假日酒店盛大召开,届时大会将云集来自五湖四海的2500名IT同胞们。
     从2009年到现在,我们伴随着中国系统架构师大会走过了七个春秋,从最早的500人规模逐年升级到现在的2500人规模,这些年我们目睹了整个IT架构的变迁史,也见证了中国IT圈内一波又一波的架构师成长之路。当天真遇到现实,会发生哪些趣闻轶事?当架构师遇到互联网+,又会擦出怎样的火花?2015中国系统架构师大会以“互联网+重塑IT架构”为主题,站在互联网+的风口上,诚邀百余名演讲嘉宾,打造一场架构师腾飞的技术盛会。

报名官网:http://sacc.it168.com/index.html






论坛徽章:
19
处女座
日期:2014-07-18 14:50:5415-16赛季CBA联赛之北京
日期:2019-09-16 15:39:1415-16赛季CBA联赛之上海
日期:2019-09-15 15:29:0415-16赛季CBA联赛之山西
日期:2017-03-09 10:58:232017金鸡报晓
日期:2017-02-08 10:33:212017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之深圳
日期:2016-12-15 17:55:53C
日期:2016-10-25 16:00:1515-16赛季CBA联赛之新疆
日期:2016-07-21 14:02:0415-16赛季CBA联赛之江苏
日期:2016-06-30 12:15:04shanzhi
日期:2016-06-17 17:59:31平安夜徽章
日期:2015-12-26 00:06:30
发表于 2015-07-07 14:16 来自手机 |显示全部楼层
好活动支持一个。

论坛徽章:
315
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2015-07-07 14:45 |显示全部楼层
跟12306啥关系?基于HTTP的,自然是TCP

1很多用户登录服务器是协议用TCP还是UDP?
没有特别的理由,显然用TCP。用UDP还得自己处理重传、重整次序等。

2如果用UDP如何解决数据的不安全性
基本上照搬TCP那一套,再增加加密等措施

3如果用TCP如何解决占用大连网络资源造成网络阻塞的问题。
(多个用户相当于多个线程,并通过socket与服务器建立连接。)
多路复用,epoll/iocp/kqueue 都能很好地解决多线程问题。网络成瓶颈,只有从减小业务报文入手。

论坛徽章:
18
2015亚冠之阿尔希拉尔
日期:2015-06-02 09:56:10数据库技术版块每日发帖之星
日期:2016-08-13 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-03-19 06:20:00数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-12-25 06:20:35数据库技术版块每日发帖之星
日期:2015-09-12 06:20:00数据库技术版块每日发帖之星
日期:2015-09-11 06:20:00ChinaUnix专家徽章
日期:2015-06-30 16:29:48ChinaUnix专家徽章
日期:2015-06-30 16:29:342015年中国系统架构师大会
日期:2015-06-29 16:11:28
发表于 2015-07-07 14:47 |显示全部楼层
看到这个问题时候想说说,跟12306的架构师聊过最难的问题在于数据库架构 必须是异构数据库,而且必须是不同的数据库,基本上异地的数据很难
1很多用户登录服务器是协议用TCP还是UDP?
tcp  必须的 udp 没有回复的
2如果用UDP如何解决数据的不安全性,
udp  用的太少了  谁还考虑
3如果用TCP如何解决占用大连网络资源造成网络阻塞的问题。
(多个用户相当于多个线程,并通过socket与服务器建立连接。
连接加资源就好,最难的地方就是超强的一致性,在进行一张票的定票的时候锁定相连的200张票,这个是性能的瓶颈

评分

参与人数 1信誉积分 +10 收起 理由
郑幸强zxq + 10 很给力!

查看全部评分

论坛徽章:
12
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之同曦
日期:2017-03-17 19:13:162016科比退役纪念章
日期:2016-11-07 08:28:12luobin
日期:2016-06-17 17:46:36wusuopu
日期:2016-06-17 17:43:4515-16赛季CBA联赛之福建
日期:2016-01-14 12:49:22程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:00程序设计版块每日发帖之星
日期:2015-06-08 22:20:002015年亚洲杯之科威特
日期:2015-03-24 14:21:272015年迎新春徽章
日期:2015-03-04 09:57:092016科比退役纪念章
日期:2018-04-10 16:20:18
发表于 2015-07-07 15:20 |显示全部楼层
跪求架构师大会的PPT免费分享,这才符合自由精神嘛。

评分

参与人数 1信誉积分 +5 收起 理由
郑幸强zxq + 5 很给力!

查看全部评分

论坛徽章:
7
天蝎座
日期:2014-06-04 13:29:02子鼠
日期:2014-06-16 10:07:08IT运维版块每日发帖之星
日期:2015-06-06 22:20:002015亚冠之迪拜阿赫利
日期:2015-06-08 15:24:21IT运维版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之阿尔沙巴布
日期:2015-06-18 16:37:30IT运维版块每日发帖之星
日期:2015-08-06 06:20:00
发表于 2015-07-07 15:22 |显示全部楼层
回复 5# VIP_fuck


    这个你去搜,真的有

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
发表于 2015-07-07 15:45 |显示全部楼层
1很多用户登录服务器是协议用TCP还是UDP?

正常应该用TCP,毕竟有应答,更放心一些。
特别是移动用户的加入,网络更不可靠,udp会带来严重的重传问题。
对于防火墙等设备来说,tcp也更好控制。
udp由于不考虑应答,在时延和一对多传输(类似广播的应用)方面更有优势,但多用户登录好像不属于这种广播式的应用。



2如果用UDP如何解决数据的不安全性,


UDP的不安全性,不仅仅在于它的丢包重传。
网络设备,特别是低端的交换机,对UDP采取的手段是“尽力投递”,有很多场合下会尝试所有的端口,这会导致一个udp包出现在非预期的网络端口中,如果被恶意截获,将会产生数据泄露的问题。
这个没有好的解决方法。


3如果用TCP如何解决占用大连网络资源造成网络阻塞的问题。
(多个用户相当于多个线程,并通过socket与服务器建立连接。)


这个问题现在应该不大了,有很多解决方案,像nginx已经可以支持10K以上的连接,传统的轮询肯定不行了。


另外这个问题跟12306有什么关系呢?

论坛徽章:
7
天蝎座
日期:2014-06-04 13:29:02子鼠
日期:2014-06-16 10:07:08IT运维版块每日发帖之星
日期:2015-06-06 22:20:002015亚冠之迪拜阿赫利
日期:2015-06-08 15:24:21IT运维版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之阿尔沙巴布
日期:2015-06-18 16:37:30IT运维版块每日发帖之星
日期:2015-08-06 06:20:00
发表于 2015-07-07 16:25 |显示全部楼层
嗯,正文内容有,我把标题也加上了,模拟两个字,可能是这位同学工作中真正的遇到了这个问题,预想12306也会有遇见类似的问题

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
发表于 2015-07-07 20:44 |显示全部楼层
讨论问题:
1很多用户登录服务器是协议用TCP还是UDP?
B/S结构,肯定是tcp了,Udp不可靠,何况登陆时必须保证可靠的.

2如果用UDP如何解决数据的不安全性,
不可靠的协议你要保证数据安全性,悖论一个.

3如果用TCP如何解决占用大量网络资源造成网络阻塞的问题。
分布式处理,这个某宝的运维应该是很有经验,每年好几百亿的销售额

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
发表于 2015-07-07 21:34 |显示全部楼层

模拟12306购票系统处理多用户购票信息的网络编程实现。

讨论问题:
1很多用户登录服务器是协议用TCP还是UDP?
TCP
2如果用UDP如何解决数据的不安全性,
登录阶段使用TCP传数据,登录完毕之后使用UDP传数据,就像QQ就是这样做的
3如果用TCP如何解决占用大连网络资源造成网络阻塞的问题。
(多个用户相当于多个线程,并通过socket与服务器建立连接。)
这个不好解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP