淘宝商品类目体系架构(转)

Forest是一套基础服务,概括的讲,Forest是淘宝的类目属性体系。淘宝的类目分为后台类目和前台类目两部分,后台类目又称标准类目,主要用于宝贝的归类和管理,而前台类目则主要负责宝贝的前台展示。比如说,卖家发布宝贝时选择的类目是后台类目,但是买家购买时看到的类目则是前台类目。

Forest系统交互图

图中可以看出,淘宝几个主要应用是如何使用forest类目服务的。每天Forest都会从DB中build最新的数据包发送给订阅的系统,相应系统收到数据包后反序列化为相应的java对象以便前端系统查询。

Sell(卖家发布系统)读取后台类目属性提供给卖家编辑发布商品,Detail(商品详情系统)读取前后台类目信息以便在detail页面展示相关商品。hesper(搜索页面)读取前后台信息和查询ISearch(淘宝主搜)获取类目信息。mckinley(CRM)用于运营小二编辑类目属性相关信息。ISearch(淘宝主搜)每天定时dump类目信息。

类目与商品的关联

商品只归属于一个后台类目。

前后台类目分离,共用属性值。卖家通过后台类目发布商品,买家通过前台类目导航。商品的前台类目不写入ic,而是利用搜索技术,在建立索引时在商品索引中增加前台类目的信息,这样通过前台类目导航就可以展示符合条件的商品,使商品分类更加灵活,能够快速的调整变化。

利用搜索引擎技术将后台类目和前台类目联系起来,建立映射关系。具体规则:根据商品数据库表中的后台类目ID和后台类目属性ID匹配前台类目的筛选条件,如果匹配到则在宝贝的索引中添加该前台类目的信息。这样,当用户按照前台类目浏览商品时,搜索引擎会展示符合筛选条件的商品。

提供实时和缓存两种服务

1. 提供实时服务,通过hsf直接读、写数据库(后台CRM,IC读写)

2. 提供缓存服务,forest系统的类目相关数据,都会推送到各个系统的内存空间(前端,读)

forest缓存服务架构图

数据库架构图

分库分表规则

category_properties category_id mod 64
property_values property_id mod 64

总结

1. 将类目体系分为前台类目和后台类目两部分,既能够保证商品的确定性又能够适应导购的多样性需求。商品只与后台类目关联,通过搜索引擎dump时来保证商品与前台类目关联。

2. 类目服务根据不同需要提供实时修改和静态缓存需求,来保证不同应用系统的需要。对于查询需求,直接将类目信息推送到相应应用的内存中,是的效率有了极大的提升,同时又能保证类目服务的独立性。

3. 类目上有相应的feature字段来保证类目的个性化需求(打标)。

你可能感兴趣的:(淘宝商品类目体系架构(转))