一商城项目总结

第一天:
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控件。都是Ajax请求,需要响应Json,json格式包含一个总记录数和商品列表。
2)mybatis的分页插件。使用其逆向工程生成的代码不支持分页,使用其插件可以很容易的完成分页操作
第三天、第四天:
商品添加:
1、商品分类选择
1)EasyUITree控件。异步加载。包含一个列表,每个列表包含三个属性,分别为id,text,data,若选中节点下有子节点data状态为close,无则open
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 相当于一个map,一个key对应一个map,map里面还可以存放key,value.
3)list 有序可重复
4)set 无需且不可重复
5)SortedSet 有序不重复
2、redis集群
1)没有代理层。
2)投票容错:需要集群中节点投票,超过半数的票数认为其中的一个节点挂了就是挂了
3)客户端连接集群中任意节点即可。
4)slot槽0-16383 :分配到集群中各个节点上,每个节点持有一定数量的槽,可以确定key放在哪台服务器上,
           实现数据在服务器中均匀分布,通过槽定位到数据应该到哪台服务器上去查。
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。
1)key:token
2)value:用户信息
3)可以需要设置有效期。
4)需要把token保存到cookie中。


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


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


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


第十四天:
系统部署
项目总结
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值