12306网站设计

陈雄华    写道
1)  优化前端网页

  • 充分利用CDN,使JS、图片等静态资源的请求能够就近访问(顺便说一下,如果12306订票插件能从google提供的http://cdnjs.com中引用JS,而不去直接引用github的JS,就不会把github搞瘫了)。
  • 将JS、CSS合并,最小化请求数。将JS和CSS压缩,最小化数据传输
  • 启用gzip压缩网页。

2)  群集分发和调度

据说12306是采用集中式构架的,集中式构架很难应对高并发,也很难水平扩容,分布式不是仅仅将调度服务器,应用服务器,缓存服务器,数据库服务器分开就行,应该进行更细的服务级划分,对业务进行服务细分,做成一个个松散耦合的服务,然后把这些服务独立分布式部署。

3)  采用分布式会话

为了可以进行灵活的请求调度,不应采用weblogic、websphere这些应用服务器自身的session管理用户会话,而应该自己管理会话,如将会话保存在独立的集群memcached服务器中,这样每个应用服务就都无状态了,会话的请求可以随意分发给不同的服务器。这也是我的ROP开源项目没有使用HttpSession,而专门抽象出一个SessionManager接口的原因,开发者应该自己去实现这个接口实现分布式会话管理。

4)  关于数据库设计优化

数据库往往是系统瓶颈所在,首先应该对数据库进行分库设计,可采用两级水平切割,如首先切割成几个物理库,然后在物理库内部再采用表分割,一般是通过某个业务ID进行取模切割,降低单库及单表的并发性,提高TPS。

合理采用读写分离技术,做到读写分离,可以一写多读,有效降低数据库的负载,数据的同步可以视情况采取应用层同步写,读取数据库日志更新或直接使用mysql读写分离技术等。

此外,业务服务化、服务解耦化是关键。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值