`
hai0378
  • 浏览: 518330 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于铁道部网站随想

 
阅读更多

1、可以采用activeMq来排队。。 
2、采用读写缓存分离,采用memcached,复杂一点就memcache集群,设置主从缓存以及缓存服务器优先级,类似sina的sea。
3、配置多台备用缓存服务器,在春运的情况下加入备用缓存服务器到memcached集群中。

<<<<<<<<<<<

 

 

1.排队等待子系统 
   
  如此大的并发量不是简单的群集能承受的,因此,系统需要一个缓冲区,就好比在窗口面前排队一样,在进入订票流程前,应该有个排队处理系统,简单的页面,让电脑面前的用户知道自己的请求已经提交,系统慢,大概还需要几分钟才能受理你的订票请求。 

  如果大家玩过wow,下过魔兽的副本,就知道有个副本排队系统了,这样也一样。 
  此系统需要大量的HTTP前端服务器,接受用户请求,但不需要很复杂的业务逻辑。 

2.订票流程处理子系统 

   进入该子系统的用户开始正式的订票流程,如,填写各种表单。该子系统关键在于需要一张表,用来记录用户已经订出的票,扣除系统剩余票数,这样不至于用户交钱了票没了。只有用户取消订票时,将票退回系统。 
   同时,该系统应该记录用户在订票流程的日志。 


3.订票确认与分发子系统 
   用户完成所有信息填写后,进入该子系统,该系统负责最终登记用户的订票信息,并正式的将票据出售,同时从用户的资金账户中扣除钱款,并在系统中锁定票号。 
    用户将从这个系统中,最终确认自己的购买的票据时间,票据,出发到达等信息,即提供最终票务状态的查询。 


剩下的具体设计,如,数据库集群设计,负载均衡设计,动态服务扩展设计,高可用性设计,高速缓存设计,这些议题大家平时都在讨论,这里就不多说了。 

大方向设计出来了,小细节的可选方案就灵活了。我就不信这样的设计会出现钱扣了,票没出的情况... 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics