首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

电商网站主站(首页)怎么做

一个常见的网站结构如下图。用户请求网站URL,nginx服务器负责负载均衡,将请求路由到具体的业务服务器tomcat;根据具体的业务需求,请求后端的相关服务(service1、service2)。系统数据由缓存(catch)和数据库(DB)支撑;客户端得到页面后,再从就近的CDN拉取需要的图片、js等静态资源;最后浏览器渲染,展现给用户。如下图所示

主站首页的基本做法思路跟上边描述的一样。但是由于首页非常重要,在性能及可靠性方面要求极高(几乎见不到哪个知名点的网站首页不能访问的),因此,首页的建设还需要考虑其他一些方面。

1、动静分离

主站首页往往会有大量的固定内容(根据地域等可枚举条件发生变化的内容也属于固定内容),这部分内容可以提前生成好,放到缓存中;同时根据用户不同,会显示一些跟用户相关的信息(如积分、等级等),这类动态信息需要通过相关服务拉取。

2、完全配置化

首页核心功能是展示商品或栏目,展示哪些栏目,展示哪些商品,连接跳转什么地方,显示什么图片,banner推广什么活动……等等内容,都要能够通过后台配置系统进行配置。

3、分屏加载

电商类首页恨不得把所有东西都放进去,内容很多。如果一次全部加载,加载速度慢,而且费流量。需要将首页切分成若干部分,用户访问时,先迅速返回第一屏显示的内容,之后再根据策略逐步加载其他屏的内容。

4、本地缓存

文章开始结构图的缓存是Redis等独立缓存,需要通过网路访问。首页中动态内容通过服务拉取的信息采用此类缓存比较合适;对于固定内容,采用本地缓存更加合适,不通过网络访问,速度更快,风险更小。58到家采用的guava本地缓存。

5、AB Test

这里的AB测,主要指首页界面的AB测(推荐算法的对比不在此讨论)。首页肩负着提升二跳率的重任,界面风格,按钮形状,背景颜色等要素极为重要,需要通过积累试验数据,逐步优化,因此首页需要支持在线AB测试。我们一般根据用户画像、地域等条件来划分对照组。

6、千人千面

如果有用户历史行为数据或其他标签(画像)数据,可根据用户特征,优先展示用户感兴趣的商品或栏目。瓜子二手车的首页会根据用户购买力,浏览历史等向用户展示可能感兴趣的车辆。

7、多渠道投放

如果是H5形式的首页,还需要支持多渠道投放。比如到今日头条上打个广告,能够迅速跳转到具体产品页或首页(此时首页运行在头条App中)。

8、柔性降级设计

柔性设计尤为重要。首页依赖的后台服务,不可能百分之百不出问题,绝对不能因为某个服务出现故障,首页的主体显示内容就出现问题(第4点采用本地缓存,也有这层意思)。比如:passport出现异常,只能影响到用户登录,但是用户依然能够看到首页展示的商品;内部网络异常,动态数据可能获取不到,但是固定信息需要能够正常展示给用户。

以上是我做主站项目的一些心得体会,具体实施起来可以讨论的内容还很多。

下一篇
举报
领券