小型电商网站的架构
又是一年年底了,这一年,从传统软件行业进入到电商企业,算是一次转行了吧。刚开始,觉得电商网站没有什么技术含量,也没有什么门槛,都是一些现有的东西堆积木似的堆出来而已。然而,真正进入到这个行业之后,才发现并不是这样。记得有人说过,好的架构,是演化出来的。电商网站的架构也是如此,现在牛逼的电商网站,看似很复杂,很牛逼,其实也是从很小的架构,也是从没什么技术含量开始的。架构的演化过程,就是在技术团队,不断追求极致的过程。
今天就来总结总结小型电商网站的架构,一套电商系统最初期的架构,往往会采用一个比较典型的LAMP架构,前端加上Apache/PHP,后端是MySQL。这个算是比较流行的。不过,目前还有一套.net 的技术架构,可能大家很少提到。很不幸,我就是在一个.net 平台为基础的电商公司。所以,今天也是要总结.net 平台的电商架构。
1. 技术架构
一般,初期的电商网站,基本就几个业务子系统,网站前台,商家前台,系统管理后台,App,M站等。业务量,也不是很大。所以,mvc + 缓存 + 数据库 。基本就搞定了。
其实,单就开发效率而言,.net mvc 的技术架构不会比LAMP 开发速度慢。所以,一些企业,为了快速推出自己的电商平台,也会采用.net 架构。
2. 基础架构
基础架构层面。这是一个很简单的基础架构了。
1. 前端网站和M站,考虑到访问量和系统的可用性,基本会采用分布式部署。通过代理服务器进行请求分发。
2. 其他的业务子系统,像商家前台,和管理系统,基本上都是单机或是主从部署。
3. 各个DB ,Redis 服务和 文件和图片服务,搜索引擎Solr服务等,采用主从部署。
3. 详细架构
整个系统架构里面,还有一个比较重要的组成部分,那就是监控系统。例如:流量监控,硬件监控,系统性能监控等, 还有就是对某个页面进行监控,设置页面的其中一块进行监控等。它是提高整个平台可用性的一个重要手段,多平台,多个维度的监控,能够确保系统的可用性,一旦出现异常,特别在硬件或者性能方面出现异常,监控系统也能立刻发出警告,这样也好防范于未然。
总而言之,一个好的系统架构应该从扩展性、安全性、性能和可靠性来考虑。罗马不是一天建成的,架构适合就行,可以先行之而后优。通过渐进演化的过程,逐步是系统越来越完善。