软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

上次说了商品,商品分类,品牌,分类的属性,规格 。很多电商网站例如:京东,国美,苏宁他们的商品都是存储在redis中的,通过请求获取到的redis进行js的渲染动态的展示商品的信息 。
源码:https://github.com/limingIOS/netFuture/tree/master//源码/『互联网架构』软件架构-解密电商系统营销-会员模块业务(72)/
 
软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
 
(一)营销模块
 
软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
 
  • 营销工具
 
软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
 
  • 营销活动
商品的ID,营销工具的ID,营销工具的编号,营销工具的类型(商品级别的,订单级别的,全站级别的),渠道(PC端的,IOS端的,Android端的)
 
软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
 
  • 营销活动对应的订单数据
针对营销活动产生的订单
 
软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
 
  • 营销技术方案
1个用户或者一个商品对应1-3个营销活动,1万个商品(购物车)就有3万个营销活动如果持久化到MySQL上,mysql肯定是受不了的 。如果是100个用户,双十一必须挂了服务 。
优化方案(缓存,redis也会有问题 。redis里面存3万多条数据,浪费了大量的网络资源)
解决方案是:类似新华字典一样,redis里面针对某个活动只存储key值,内容保存在JVM cache中 。因为目前都是存在JVM中,如果是分布式同步下,需要使用zookeeper 。
 
软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
 
(二)会员模块
电商里面最复杂的就是商品,最简单的业务就是会员 。
  • 业务
会员模块用户注册、登录、找回密码、积分业务
  • 技术点:会员SSO、分库分表
单点登录 。1.session如何存储的(redis)
 
软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
 
单点登录 。2、服务端如何获取你信息?Token(客户端跟服务端 包含登录)
sale.jd.com登录 item.jd.com(我不知道你登录)
登录后把token放入redis中作为key,token的信息保存在cookies中,当访问在item.jd.com后,通过cookies里面的token来确认用户是否登录 。
分库分表 。hash取模、list预定义、range范围,具体都是通过shardingjdbc处理的
说说之前的公司关于会员表一共8个库,后来变成了16个库 。这个是如何处理的 。
1.当时8个库的分库思路是通过hash取模的方式 。(每个库800万数据)
2.如果改成16个库,凌晨进行处理,先将数据进行处理分为:待迁移%8、 (服务可用)迁移中(%8) 、迁移完(%16),通过copy的方式 。2个小时搞定的 。
3.迁移完后进行取模改成16 。停机2个小时 。
4.当时同事提出不停机,如果在这个期间会员信息发生修改,通过binlog的方式在新迁移的信息通过binlog的方式在新迁移的库中执行,因为比较麻烦后来放弃了 。
5.直接停机2个小时 。前提这些都是在测试环境测试过了 。迁移完后等于2份,一个在0库,一个在16库,删除原来0库中的数据 。
  • 表设计
t_account会员表

软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 

软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
t_accountRank会员级别表

软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
t_address配送地址信息表

软件架构-解密电商系统商品营销-会员模块业务!解读模块工具

文章插图
 
(三)权限模块
很多系统的权限这块 公共 。权限系统一般有:账号、角色、权限、资源 。
权限可以分为三种:页面权限,操作权限,数据权限 。


推荐阅读