当前位置:首页 > 开发 > 互联网 > 正文

中小型电子商务网站架构-从业总结

发表于: 2015-05-03   作者:cfyme   来源:转载   浏览次数:
摘要: 一个小型的电子商务网站,例如日交易量5万订单以下,或者说每天差不多五千万个pv左右。我们可以讨论下,整个架构应该如何设计。 业务分离,域名分离 现在好的电子商务网站都是按照业务分开,细化每个业务线。这样有利于系统的扩展,也有利于对系统的维护。例如:商品可以独立出来,交易独立,用户独立等等。各个系统之间需要交互的信息可以通过远程传输来实现。在一个比较有规模的团队中,最好有个组专门来维护一个独立的

一个小型的电子商务网站,例如日交易量5万订单以下,或者说每天差不多五千万个pv左右。我们可以讨论下,整个架构应该如何设计。

业务分离,域名分离

现在好的电子商务网站都是按照业务分开,细化每个业务线。这样有利于系统的扩展,也有利于对系统的维护。例如:商品可以独立出来,交易独立,用户独立等等。各个系统之间需要交互的信息可以通过远程传输来实现。在一个比较有规模的团队中,最好有个组专门来维护一个独立的业务,有利于团队对业务渗透和业务的维护。

由于业务分开,系统分开,当然在域名上也应该分开, 例如:整个网站的域名为www.abcd.com。那商品系统域名就应该为item.abcd.com。交易可以使用order.abcd.com。这样的好处显而易见,在访问上就可以分流。很多公司是通过www.abcd.com/item这样处理,所有流量都统一进入www.abcd.com然后再处理,这样对主服务器压力就非常大。这个道理很简单。就像一个口小身大的瓶子一样,水很难灌进去。现在很多电子商务公司都没有意识到这个问题。这些简单的方法都没有注意到。

 

独立搜索引擎

最近几年很多人都习惯于通过搜索找到自己喜欢的东西,一个好的网站一定要有独立的搜索引擎,分词要好,实时数据更新最好,最好做成分布式搜索。为了能够准确定位商品,对商品一定要有非常完善商品属性,例如:我在搜索一件红色 夏季的衣服,我就会输入红色 夏季进去,如果商品没有颜色属性,没有季节属性,就无法定位到我想要的商品上面。除了完善的商品属性,还应该建立比较好的推荐搜索,保持关键字推荐,搜索结果推荐。

搜索是一个非常庞大和奥妙的课题,本人知之甚少,也不好班门弄斧。我是做java出身,经常使用Lucene也很喜欢Lucene。很多人都误会Lucene做搜索不够强大,其实技术要做好,一样很强大。twitter就是使用Lucene做搜索,也比较强大了,熟能生巧。

 

数据架构

数据架构范围太大,太广,起这个标题有点大题小做了。其实一个比较大的系统,最起码的数据架构要求就是数据库拆分。垂直划分很简单,就按照业务分成不同的数据库。另外一种是水平划分,把同一个业务数据划分到不同的数据。到最后就应该是可以考虑读写分离,读写分离就好像高速公路一样,左右车道分开,中间有隔离带,当然速度就上去了。

在我的博客上有一篇文章主要讲读写分离。

 

缓存数据

缓存是我最喜欢的的技术,也是目前很多系统都会使用到的技术,为了提高系统性能,提高速度,缓存使用必不可少。最有名的莫过于memcache啦,淘宝的tair也很不错。这些都是大型分布式缓存,其实如果是小型系统,可以自己开发缓存,可以根据业务要求,把对应的数据放到内存中,就可以了。其中技巧很多,一切都以合适场景为主。

还有另外一个现在非常流行的技术就是cdn缓存,提供商很多,淘宝比较牛,自己开发cdn,而且架构也非常好。

说到缓存还有静态页面缓存,浏览器客户端缓存。等等,这些都可以在一定程度上提高性能。

 

异步通信系统

在一个分布式系统中,系统之间交互必不可免,就会涉及到很多系统之间消息同步,状态同步,消息记录等,一个好的异步消息系统,可以很好提高系统的强壮性和扩展性。例如为了保证数据或者状态一致性,通过消息系统就可以保证数据一致。在交互时,向消息队列中提交对象,再进行系统之间状态交互。就算系统状态 失败消息中也保证了对象的存在。在上面提到的读写分离中,就可以通过异步消息系统做数据同步。

 

完善的系统监控

 

在一个比较大型的分布式环境中,一定要有监控系统。例如:流量监控,硬件监控,系统性能监控,如果再深入的话,可以对某个页面进行监控,设置页面的其中一块进行监控。特别在硬件监控或者性能监控时如果发现异常,就应该预警,这样也好防范于未然。

 

一个好的系统其实应该从扩展性、安全性、性能和可靠性来考虑,其中三言两语说不完。架构适合就好,可以采用先行之而后优。

 

转载地址:http://liriguang.iteye.com/blog/947630

中小型电子商务网站架构-从业总结

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
(转自:http://www.cnblogs.com/skydau/archive/2009/08/30/1556701.html) 7.同一个网站的多语言该
在创业公司的这几年收获颇多,无论是对行业格局还是产品的认识以及技术体系都比之前有了较深刻的理
大型电子商务网站架构 (转自:http://www.cnblogs.com/skydau/archive/2009/08/30/1556701.html) 7.
Facebook是一个社会化网络站点,它于2004年2月4日上线。每个用户在facebook上有自己的档案和个人页
Facebook是一个社会化网络站点,它于2004年2月4日上线。每个用户在facebook上有自己的档案和个人页
这是一个技术提问帖,更是一个技术回复分享帖! 希望有经验的朋友能够不吝赐教,让我们能在回复中分享到
7.同一个网站的多语言该如何处理是好,使用配置文件然后cookie或url来判别?===客户是自己公司,使用
转帖于:http://www.cnblogs.com/skydau/archive/2009/08/30/1556701.html 大型电子商务网站架构,
http://www.cnblogs.com/jqbird/archive/2011/04/05/2005672.html 电子商务网站搜索架构方案 说是电
这是一个技术提问帖,更是一个技术回复分享帖! 希望有经验的朋友能够不吝赐教,让我们能在回复中分享
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号