一、架构1.0时代 2010年前
说话当时C#有取代Java可能,国内以C#平台开发的系统风生水起,他们的架构基本都是这样的:
IIS+C#+SQL SERVER+Memcached+Redis+Nginx......
无奈C#的不开源,加上WP移动系统失败,语言版本更新太快,来一个新技就废除老的技术(Severlight,WPF.Net Core....),生态也不如JAVA
二、架构2.0时代 2010-2013
该方案使用了静态化技术,按照商品维度生成静态化HTML。主要思路:
1、通过MQ得到变更通知;
2、通过Java Worker调用多个依赖系统生成详情页HTML;
3、通过rsync同步到其他机器;
4、通过Nginx直接输出静态页;
5、接入层负责负载均衡。
备注:该方案的主要缺点:
1、假设只有分类、模板变更了,那么所有相关的商品都要重刷;
2、随着商品数量的增加,rsync会成为瓶颈;
3、无法迅速响应一些页面需求变更,大部分都是通过JavaScript动态改页面元素。
随着商品数量的增加这种架构的存储容量到达了瓶颈,而且按照商品维度生成整个页面会
存在如分类维度变