商城项目回顾

第一天:
1、电商行业的背景。互联网行业工资高。
2、电商模式:b2b、b2c、c2c、o2o
3、项目架构:
    1)集群
    2)分布式
    3)基于soa架构
4、宜立方商城的系统架构。
5、工程搭建。
    maven管理工程。
    父工程
    聚合工程
    模块
    工程的继承、依赖。
6、ssm框架整合。
7、svn的使用
第二天:
1、dubbo,服务治理工具。实现系统之间通信。
    1)服务提供者
    2)服务消费者
    3)注册中心,使用zookeeper实现,相当于房产中介。
    4)监控中心。
2、工程改造。改造为基于soa架构的工程。
3、商品列表的查询。
    1)EasyUI的DataGrid控件。
    2)mybatis的分页插件。
第三天、第四天:
商品添加:
1、商品分类选择
    1)EasyUITree控件。异步加载。
2、商品图片。实现图片上传。
    1)图片服务器
        (1)FastDFS保存图片
            Tracker,相当于注册中心的作用,关键服务器集群。
            Storage,保存文件的服务器。
        (2)访问图片http服务器,推荐使用nginx
            a.静态资源的访问。配置server可以。
                a)通过端口区分不同的server
                b)通过域名区分不同的server
            b.反向代理
                proxy_pass http://upstream_name;
                需要配置upstream节点。
                节点中有应用服务的地址列表。
            c.负载均衡
                需要配置upstream节点中配置多个服务器就可以实现负载均衡
                调整每个服务器的权重。
    2)图片上传的实现
        (1)FastDFS的java客户端
        (2)使用KindEditor的多图片上传插件。
3、富文本编辑器的使用
    KindEditor。
4、商品添加。
第五天
1、商城首页展示。
2、页面内容动态展示,需要cms系统。
    1)内容分类管理
        树形结构。
    2)内容管理
        一个内容分类下对应一个内容列表。
3、商品首页动态展示。
    从数据库中取内容列表,根据内容分类id查询。
第六天
向业务逻辑添加缓存
1、使用redis做缓存
    1)string
    2)hash
    3)list
    4)set
    5)SortedSet
2、redis集群
    1)没有代理层。
    2)投票容错
    3)客户端连接任意节点即可。
    4)slot槽0-16383
3、jedis客户端。
    1)JedisPool
    3)JedisCluster
4、向业务逻辑中添加缓存。
5、缓存同步。
第七天:
搜索功能实现
1、solr服务搭建。
2、配置业务域。中文分析器的配置。
3、把商品数据导入到索引库
    solr的客户端:solrJ
4、搜索功能实现。
    使用solrJ实现搜索。
第八天
solrCloud的搭建
1、zookeeper集群
    推荐集群中应该是奇数节点。
2、solr集群
    配置文件统一管理。把配置文件上传到zookeeper。
    索引库分片。
3、solrJ连接集群。
    单机版:HttpSolrServer
    集群:CloudSolrServer
        1)zookeeper的地址列表
        2)设置DefaultCollection属性。
4、搜索功能切换到集群版。
第九天
1、使用MQ实现系统之间通信
Activemq,支持jms规范。
2、通信方式
    queue
    topic
3、Activemq整合spring
    发送消息:JmsTemplate
    接收消息:
        1)实现MessageListener接口
        2)配置MessageListenerContainer
3、添加商品同步索引库
第十天
商品详情页面
1、动态展示
jsp+redis
缓存需要有过期时间,提供缓存利用率。
2、网页静态化freemarker
    1)模板
        基于jsp改造。
    2)数据
        推荐使用map实现
3、静态化方案
    1、mq发送消息
    2、接收到消息,生成静态页面
    3、nginx访问静态页面。
第十一天:
sso系统:
主要解决的是Session共享的问题。
1、使用redis管理Session。(保存前把密码设为null)
1)key:token
2)value:用户信息
3)可以需要设置有效期。
4)需要把token保存到cookie中。(保存前把密码设为null)

2、根据token取用户信息
1)从cookie中取token
2)到redis中查询用户信息。
3)更新key的过期时间。

 

第十二天
购物车
1、未登录:使用cookie保存购物车数据
2、登录后:把购物车数据保存到redis。
2、购物车合并,应该以服务端的购物车为准。

第十三天:
订单系统
1、订单号生成。使用redis的incr
2、mycat。

第十四天:
系统部署

项目总结

4.5.    电商活动倒计时方案:
1、确定一个基准时间。可以使用一个sql语句从数据库中取出一个当前时间。SELECT NOW();
2、活动开始的时间是固定的。
3、使用活动开始时间-基准时间可以计算出一个秒为单位的数值。
4、在redis中设置一个key(活动开始标识)。设置key的过期时间为第三步计算出来的时间。
5、展示页面的时候取出key的有效时间。Ttl命令。使用js倒计时。
6、一旦活动开始的key失效,说明活动开始。
7、需要在活动的逻辑中,先判断活动是否开始。

4.6.    秒杀方案:
1、把商品的数量放到redis中。
2、秒杀时使用decr命令对商品数量减一。如果不是负数说明抢到。
3、一旦返回数值变为0说明商品已售完。

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值