您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

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

时间:2019-09-16 10:30:11  来源:  作者:

上次说了商品,商品分类,品牌,分类的属性,规格。很多电商网站例如:京东,国美,苏宁他们的商品都是存储在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配送地址信息表

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

 

(三)权限模块

很多系统的权限这块 公共。权限系统一般有:账号、角色、权限、资源。

权限可以分为三种:页面权限,操作权限,数据权限。

互联网公司有个专业术语:权限这块防小人(不懂电脑的),防君子(IT人员)

  • 页面权限

控制你可以看到哪个页面,看不到哪个页面。

很多系统都只做到了控制页面这一层级,它实现起来比较简单,一些系统会这样设计,但是比较古板,控制的权限不精细,难以在页面上对权限进行更下一层级的划分。

  • 操作权限

则控制你可以在页面上操作哪些按妞。

延伸:当我们进入一个页面,我们的目的无非是在这个页面上进行增删改查,那在页面上对应的操作可能是:查询,删除,编辑,新增四个按钮。

可能你在某个页面上,只能查询数据,而不能修改数据。

  • 数据权限

数据权限则是控制你可以看到哪些数据,比如市场A部的人只能看到或者修改A部创建的数据,他看不到或者不能修改B部的数据。

延伸:数据的控制我们一般通过部门去实现,每条记录都有一个创建人,而每一个创建人都属于某个部门,因此部门分的越细,数据的控制层级也就越精细,这里是否有其他好的方式除了部门这个维度还有其他什么方式可以控制数据权限。

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

 

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

 

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

 

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

 

(四)黑科技动态执行aop里面的方法

大型网络公司内部使用的,建议内部粉丝专用,这里不做演示,详细使用建议联系我。

源码:https://github.com/limingios/netFuture/tree/master//源码/『互联网架构』软件架构-解密电商系统营销-会员模块业务(72)/

1、存储在jvm的对象可视化 可以操作

2、调试bug比较有用 查看最新代码

3、给系统留后门(生产 不需要重启机器可以改配置 )

  • 在pom.xml 同级目录放入dynamo.jar

 

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

 

 

  • pom.xml 中的配置,先将jar包放入web-info
<dependency>
 <groupId>com.gome.spring.compents</groupId>
 <artifactId>dynamo</artifactId>
 <scope>system</scope>
 <systemPath>${basedir}..dynamo.jar</systemPath>
 <version>0.0.1-SNAPSHOT</version>
 </dependency>
 <dependency>
 <groupId>org.Apache.commons</groupId>
 <artifactId>commons-lang3</artifactId>
 <version>3.7</version>
 </dependency>
  • web.xml中加入

<servlet>

<servlet-name>springdyn</servlet-name>

<servlet-class>com.gome.spring.compents.servlet.DynServlet

</servlet-class>

</servlet>

<servlet-mApping>

<servlet-name>springdyn</servlet-name>

<url-pattern>/dyn/admin/*</url-pattern>

</servlet-mapping>

  • 访问方式

http://ip:端口/项目名称/dyn/admin

用户名:admin

密码: admin

 

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

 

 

PS:今天说了营销的设计思路:营销工具,营销活动,营销活动订单。 会员管理:单点问题,会员信息session共享问题。权限问题:页面权限,操作权限,数据权限。黑科技:动态aop控制工具。



Tags:电商系统   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
亿级流量电商系统JVM模型参数预估方案,在原来的基础上采用ParNew+CMS垃圾收集器一、亿级流量分析及jvm参数设置1. 需求分析大促在即,拥有亿级流量的电商平台开发了一个订单系...【详细内容】
2021-10-25  Tags: 电商系统  点击:(41)  评论:(0)  加入收藏
1、电商系统可能是世界上最复杂的业务系统说个有意思的小事,和一位PM同行聊工作,问我电商做的如何,我说并不是一件易事。对方哈哈一笑,说电商不就那么回事吗,有啥难的,是个PM都能...【详细内容】
2020-06-19  Tags: 电商系统  点击:(56)  评论:(0)  加入收藏
说秒杀系统其实更多的高级一点的知识,不会太多的在业务上说明秒杀,那样确实太浪费时间,主要核心的点,如何处理高并发系统调优,压测。发现性能的瓶颈更好的调优。还会说说高阶的优...【详细内容】
2019-09-18  Tags: 电商系统  点击:(225)  评论:(0)  加入收藏
上次说了商品,商品分类,品牌,分类的属性,规格。很多电商网站例如:京东,国美,苏宁他们的商品都是存储在redis中的,通过请求获取到的redis进行js的渲染动态的展示商品的信息。源码:http...【详细内容】
2019-09-16  Tags: 电商系统  点击:(250)  评论:(0)  加入收藏
以前看的一本书淘宝这十年来,一起回顾下电商系统的发展历程,其实也折射了目前很多系统技术发展的变革。从单机版到目前淘宝的技术状态。 (一)目的 一起了解学习的分布式专题技...【详细内容】
2019-09-12  Tags: 电商系统  点击:(160)  评论:(0)  加入收藏
▌简易百科推荐
为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。1、QPS保障目标...【详细内容】
2021-12-27  大数据架构师    Tags:架构   点击:(5)  评论:(0)  加入收藏
前言 单片机开发中,我们往往首先接触裸机系统,然后到RTOS,那么它们的软件架构是什么?这是我们开发人员必须认真考虑的问题。在实际项目中,首先选择软件架构是非常重要的,接下来我...【详细内容】
2021-12-23  正点原子原子哥    Tags:架构   点击:(7)  评论:(0)  加入收藏
现有数据架构难以支撑现代化应用的实现。 随着云计算产业的快速崛起,带动着各行各业开始自己的基于云的业务创新和信息架构现代化,云计算的可靠性、灵活性、按需计费的高性价...【详细内容】
2021-12-22    CSDN  Tags:数据架构   点击:(10)  评论:(0)  加入收藏
▶ 企业级项目结构封装释义 如果你刚毕业,作为Java新手程序员进入一家企业,拿到代码之后,你有什么感觉呢?如果你没有听过多模块、分布式这类的概念,那么多半会傻眼。为什么一个项...【详细内容】
2021-12-20  蜗牛学苑    Tags:微服务   点击:(9)  评论:(0)  加入收藏
我是一名程序员关注我们吧,我们会多多分享技术和资源。进来的朋友,可以多了解下青锋的产品,已开源多个产品的架构版本。Thymeleaf版(开源)1、采用技术: springboot、layui、Thymel...【详细内容】
2021-12-14  青锋爱编程    Tags:后台架构   点击:(21)  评论:(0)  加入收藏
在了解连接池之前,我们需要对长、短链接建立初步认识。我们都知道,网络通信大部分都是基于TCP/IP协议,数据传输之前,双方通过“三次握手”建立连接,当数据传输完成之后,又通过“四次挥手”释放连接,以下是“三次握手”与“四...【详细内容】
2021-12-14  架构即人生    Tags:连接池   点击:(17)  评论:(0)  加入收藏
随着移动互联网技术的快速发展,在新业务、新领域、新场景的驱动下,基于传统大型机的服务部署方式,不仅难以适应快速增长的业务需求,而且持续耗费高昂的成本,从而使得各大生产厂商...【详细内容】
2021-12-08  架构驿站    Tags:分布式系统   点击:(23)  评论:(0)  加入收藏
本系列为 Netty 学习笔记,本篇介绍总结Java NIO 网络编程。Netty 作为一个异步的、事件驱动的网络应用程序框架,也是基于NIO的客户、服务器端的编程框架。其对 Java NIO 底层...【详细内容】
2021-12-07  大数据架构师    Tags:Netty   点击:(17)  评论:(0)  加入收藏
前面谈过很多关于数字化转型,云原生,微服务方面的文章。虽然自己一直做大集团的SOA集成平台咨询规划和建设项目,但是当前传统企业数字化转型,国产化和自主可控,云原生,微服务是不...【详细内容】
2021-12-06  人月聊IT    Tags:架构   点击:(23)  评论:(0)  加入收藏
微服务看似是完美的解决方案。从理论上来说,微服务提高了开发速度,而且还可以单独扩展应用的某个部分。但实际上,微服务带有一定的隐形成本。我认为,没有亲自动手构建微服务的经历,就无法真正了解其复杂性。...【详细内容】
2021-11-26  GreekDataGuy  CSDN  Tags:单体应用   点击:(35)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条