很久没有写过博客,由于事务繁多,如果再不写,手就迟钝了。由于一直以来都从事电子商务的技术工作,在架构方面或多或少有点经验,拿出来和大家聊聊,希望业界牛人指正,我也好自我提高。
一个小型的电子商务网站,例如日交易量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,而且架构也非常好。
说到缓存还有静态页面缓存,浏览器客户端缓存。等等,这些都可以在一定程度上提高性能。
异步通信系统
在一个分布式系统中,系统之间交互必不可免,就会涉及到很多系统之间消息同步,状态同步,消息记录等,一个好的异步消息系统,可以很好提高系统的强壮性和扩展性。例如为了保证数据或者状态一致性,通过消息系统就可以保证数据一致。在交互时,向消息队列中提交对象,再进行系统之间状态交互。就算系统状态 失败消息中也保证了对象的存在。在上面提到的读写分离中,就可以通过异步消息系统做数据同步。
完善的系统监控
在一个比较大型的分布式环境中,一定要有监控系统。例如:流量监控,硬件监控,系统性能监控,如果再深入的话,可以对某个页面进行监控,设置页面的其中一块进行监控。特别在硬件监控或者性能监控时如果发现异常,就应该预警,这样也好防范于未然。
一个好的系统其实应该从扩展性、安全性、性能和可靠性来考虑,其中三言两语说不完。架构适合就好,可以采用先行之而后优。
分享到:
相关推荐
同时,为了应对高流量,电子商务架构还会采用负载均衡、分布式数据库和云计算等技术。 再者,"百度架构"展示了搜索引擎巨头如何处理海量的数据和用户的搜索请求。百度的架构可能包括爬虫系统、索引构建、查询处理、...
在电子商务网站的架构中,前端(前台)是用户直接接触的部分,它负责展示商品、接收用户输入、呈现购物体验。这包括商品分类、搜索功能、商品详情页、购物车、结算流程等。前端设计需考虑用户体验,如页面加载速度、...
《基于ASP+ACCESS的BtoC电子商务网站设计》是一份综合性的资料,涵盖了从理论到实践的多个层面,包括论文...通过深入研究这份资料,可以提升对电子商务网站架构和开发流程的理解,以及ASP和ACCESS在实际应用中的技能。
适用于中小型电子商务客户的线上办公系统如LiveService、OfficeLive、WindowsLive等,提供同步协作的办公资料处理和企业管理功能。 随着云计算技术的进一步发展与完善,电子商务在云计算平台的支持下将展现出更大的...
由于专业人才的供给与需求不平衡,中小型外贸企业在人才招聘方面遇到难题,且多数从业人员缺乏对相关国家法律法规、跨境电商网站规则的了解。 对策:企业应加强内部培训,提升员工在计算机操作、外语沟通以及跨境...
总结来说,Magento是一款全面、可扩展的电子商务解决方案,它的强大功能和开放源码性质使其在全球电商市场中占据了一席之地。对于商家而言,选择Magento意味着拥有了一个能够随着业务发展而不断升级的网店平台;对于...
尽管国家在电子商务领域的从业者数量在不断增长,但在这些数字背后,我们也看到了电商人才需求中的种种问题。比如,高校在培养电商人才时,教学内容与市场需求之间存在脱节,行业标准不统一,导致学生毕业后难以适应...
**题目5** 强调了电子商务平台的安全特性。 - **可靠性**:平台应能够持续稳定运行。 - **普遍性**:服务应能够被广泛的用户群体所接受。 - **便利性**:使用平台应方便快捷。 - **安全性**:平台应能够保护用户...
这个系统集成了内容管理与电子商务功能,使得用户可以轻松地搭建自己的在线商城,同时进行内容发布、用户管理以及订单处理等业务操作。本文将深入探讨PHPMyCms的核心特性、系统架构以及使用方法。 首先,我们来看看...
学习和理解这个"嘟嘟卡盟ASP源码 完整版",不仅可以深入理解ASP编程,还可以了解到一个完整的电子商务系统的架构和工作原理。对于想要从事或者提升网站开发技能的IT从业者来说,这是一个很好的实践案例。通过分析...
NopCommerce是一个开源的电子商务平台,专为中小型企业设计,基于.NET Framework构建,采用ASP.NET MVC技术栈。这个平台提供了一套完整的网上商店解决方案,包括商品管理、订单处理、客户管理、营销工具等多个核心...
5. 农民电子商务意识和技能薄弱:农业从业者普遍缺乏电子商务知识和技能,对于电商运营、网络营销等认识不足,难以有效利用电商平台推广农产品。 针对上述困境,可探索以下突破点: 1. 加强县域电商平台建设:政府...
在电子商务领域,选择一款合适的网店系统至关重要,它关乎着商家的运营效率和用户体验。以下8款开源网店系统各具特色,各有优势,值得深入研究。 1. ECSHOP ECSHOP是一款使用PHP语言开发的国内知名开源网店系统。...
MvMmall网店系统是一款专为中小型商家设计的高效、稳定且美观的在线商店建设平台。它以其强大的功能、易用性以及可靠的性能赢得了用户的广泛认可。这款网店系统基于PHP编程语言和MySQL数据库管理系统进行开发,提供...
研究显示,随着国内各大跨境电商平台的迅速发展以及中小型企业转型生机,急需复合型跨境电商外贸人才。因此,为了更好地顺应电商行业的发展,更好地了解跨境电商岗位的需求,培养适应时代需求的新型外贸人才,制定...
在当今的电子商务环境下,农村地区作为重要的市场增量点,其电商物流的发展状况受到了各方面的高度关注。本文研究的焦点是农村电商物流的“最后一公里”问题,即货物配送至消费者手中的最后一段,这一环节在物流领域...
【捷德:Python在电子商务服务中的应用】 "捷德",这个名字在IT行业中可能代表着一个项目或者技术解决方案,尤其在提到"SDA最终项目-电子商务服务"时,我们可以推测这可能是一个利用Python语言构建的电子商务平台。...