乐优商城项目学习
有同学想要乐优商城源码,今天它来了!我想大部分同学跟我一样,拿到的源码有一定的出入,我是看着视频学习并跟着敲的代码,差距不会太大,召唤传送门:https://github.com/HollowCup/mall,大家如有需要,请自便。
自己有做过电商项目,但是参与的都不是核心模块的设计开发,对于电商的设计这块还是很模糊的,无意间看到这个项目的视频,所以花了几天,跟着来学习。每个人工作经验和理解能力不同,学习某个知识点之后,收获也不一样,下面就自己目前的情况,记录一下个人的收获。
乐优商城项目是一个全品类的电商购物网站,感觉就像是按着京东来做的,并且发现华为商城也是这样设计,看到商品详情,有那么一丢丢的亲切感。这个项目是基于微服务架构,如果没做过微服务开发或者想对电商项目有所了解,拿来玩玩还是不错的。既然花了时间在上面,就应该有自己能学习到东西,哪怕是很少的收获,毕竟不积跬步无以至千里。
收获一:明白了电商系统中的一些知识点,例如sku和spu的概念,另外,类目、品牌、商品、规格参数、规格参数组的设计以及它们关系也是相对复杂的,学完之后自己也能梳理清楚了。
收获二:之前以为在微服务中,所有的请求都会过网关,由网关进行路由,但是并不是这样。例如上传服务,如果上传文件也经Zuul网关,会造成不必要的网络负担,在高并发的情况下,有可能会造成整个系统的瘫痪,因此文件上传的请求是不经过网关来处理的。
收获三:库表设计的技巧。像spu和spuDetail会分在不同的表里,主要是spu和spuDetail读的频率不一样,并且spuDetail中商品详情属于大字段,分开存储会好一些,同样的,sku和库存也会分开存储,这是因为读写的频率不一样。另外,常规库表设计应该遵循三范式,但是有时候字段冗余可以减少不必要查询,这是值得的。
收获四:学习了JWT,包括JWT的概念、数据格式和交互流程,之前是听说过,这次是能亲自实战,感觉收获满满。
收获五:整合SpringBoot+ElasticSearch完成商品搜索,以后有需要用到搜索引擎相关的东西,可以直接拿过来进行优化。
好了,总结完毕,收获不少,很开心。请关注我,为电商项目点赞!