首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

交易网站的架构的1点研究心得

2012-08-21 
交易网站的架构的一点研究心得这两天同事正好做数据优化,碰巧遇到高并发数据读取的事情,一起探讨了一下,后

交易网站的架构的一点研究心得
      这两天同事正好做数据优化,碰巧遇到高并发数据读取的事情,一起探讨了一下,后来想起来淘宝的经验应该值得学习,找了一下文档,发现确实有学习的地方,下面先转一个人谈的高并发的文章(http://blog.csdn.net/xzknet/article/details/7790491)_,我看了一下也就前两段有可以理解的内容,后面竟是闲谈(可能没有仔细悟吧)。 个人感觉淘宝现在的架构是 反向代理层面:      这个层面应该没有什么有趣的地方,无外乎使用CDN加速一下访问速度,将静态的JS了,图片了缓存一下。硬件产品有F5,Array,软件有Nginx、Apache等吧。 WEB服务器层面       单个WEB服务器为用户提供服务的数量不论如何改造都是有限的,所以需要大量部署集群方能解决用户的高并发问题。但是又不能每次增加一个节点就重启一下全部服务器,那样多麻烦啊。完美的解决之道还在于节点可以随时增加,随时减少,所以程序开发时需要考虑好缓存的集群化部署,这样Web容器不论启动多少个,都是从Cache缓存集群中获取数据。 数据库层面:     卖家要实时数据,买家要高速查询数据,只有在交易时才需要实时的数据。     卖家+买家交易过程===》使用Oracle数据库,进行实时读写(量比较小,这时数据读写的比例比较均衡,需要保证数据的实时性)===》发布商品后(该信息转为读属性为主的资料),将信息使用后台异步的调度程序,将Oracle数据转换为他们自己基于MySQL开发的数据库。          买家===》读取MySQL集群数据库,进行高并发的数据查询。这个MySQL数据库比较有趣,是淘宝自己改造的一个版本,是淘宝使用MySQL改写的一个分支。利用MySQL的集群和分区的特性为集群服务器读取数据,并且为每一个MySQL服务器程序分配大量的内存来加速数据的读取,这样就解决买家高速查询获取数据的要求(感觉更像是一个可以使用SQL语句访问的Cache)。     (淘宝开发的MySQL数据库,貌似又开源出来了,这样又省钱,又可以横向扩展服务器,觉的读取压力大了就买几台服务器,部署上几个MySQL集群,再部署上几套前台应用程序,就基本解决问题了) 数据搜索层面    数据搜索是一个麻烦事情,不过可以考虑使用SOLR解决数据库的搜索,毕竟交易网站随着数据的增加,业务数据会越来越多,前期不考虑,后期用户的一个简单的模糊查询就会把数据库给搞死了。所以还是使用SOLR辅助解决数据库的检索。       以上仅仅是个人对淘宝高并发研究的一点拙见,大家有什么好的看法了多多交流。     呵呵,家里有事了,以后有啥心得了再补这个吧。 

热点排行