SSM分布式架构电商项目
c.
这个作者很懒,什么都没留下…
展开
-
【SSM分布式架构电商项目-37】大型互联网架构演变历程总结
淘宝技术演变,摘自《淘宝技术这十年》马总在2003年4月7日秘密叫来阿里巴巴的十位员工,来到杭州一个隐秘的毛坯房,要求他们在一个月左右的时间内做出一个C2C网站。结果当然还是直接买的快,一个基于LAMP架构的网站,原名是PHPAuction,老美开发的一个拍卖网站。当然必须要做修改才能用。2003年底,淘宝注册用户23万,PV 31万/day,半年成交额3371万很显然MySQL无法撑得...原创 2018-05-26 14:37:08 · 859 阅读 · 0 评论 -
【SSM分布式架构电商项目-36】使用Dubbo优化单点系统的查询功能
创建taotao-sso-query-api工程创建maven工程该工程定义查询接口。 导入依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma...原创 2018-05-17 19:42:36 · 543 阅读 · 2 评论 -
【SSM分布式架构电商项目-35】Dubbo的配置详解
dubbo的配置详解<dubbo:protocol/>服务提供者协议配置: 配置类:com.alibaba.dubbo.config.ProtocolConfig 说明:如果需要支持多协议,可以声明多个<dubbo:protocol>标签,并在<dubbo:service>中通过protocol属性指定使用的协议。原创 2018-05-17 16:43:56 · 627 阅读 · 0 评论 -
【SSM分布式架构电商项目-34】Dubbo监控和管理
监控原理:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。搭建监控服务修改配置文件 修改注册中心的地址: 、在dubbo-b中配置监控 然后重启dubbo-b系统。启动 启动成功: 查看界面输入地址:http://127.0.0.1:8080/ 功能查看服务: 监...原创 2018-05-17 16:19:06 · 330 阅读 · 0 评论 -
【SSM分布式架构电商项目-33】Dubbo快速入门
快速入门实现功能存在2个系统,A系统和B系统,A系统调用B系统的接口获取数据,用于查询用户列表。 安装zookeeper解压得到如下: 修改配置文件zoo.cfg: 该目录必须存在。 启动zookeeper服务: 搭建B系统创建工程导入依赖<project xmlns="http://maven.apache...原创 2018-05-17 15:16:57 · 490 阅读 · 0 评论 -
【SSM分布式架构电商项目-32】Dubbo入门
系统间服务调用方式浏览器直接访问浏览器发起请求,通过ajax或jsonp方式请求: Httpclient方式系统与系统之间通过Httpclient发起http请求来请求数据: http协议是短连接。RPC方式采用长连接方式。单点系统中存在的问题在单点登录系统中的功能中,根据token查询用户信息的功能对系统性能要求最高,如果我们想单独...原创 2018-05-17 14:19:00 · 895 阅读 · 0 评论 -
【SSM分布式架构电商项目-31】使用Spring基于应用层实现读写分离
方案解决读写分离的方案有两种:应用层解决和中间件解决。应用层解决优点: 1、 多数据源切换方便,由程序自动完成; 2、 不需要引入中间件; 3、 理论上支持任何数据库; 缺点: 1、 由程序员完成,运维参与不到; 2、 不能做到动态增加数据源;中间件解决 优缺点:优点: 1、 源程序不需要做任何改动就可以实现读写分离; 2、 动态...原创 2018-05-16 17:33:29 · 459 阅读 · 0 评论 -
【SSM分布式架构电商项目-30】MySQL数据库设置读写分离
背景我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案, 其中一个是主库,负责写入数据,我们称之为:写库; 其它都是从库,负责读取数据,我们称之为:读库;那么,对我们的要求是: 1、 读库和写库的数据一致; 2、 写数据必须写到写库; 3、 读数据必须到读库;安装两个mysql我们装的是绿色版的My...原创 2018-05-16 16:49:09 · 730 阅读 · 0 评论 -
【SSM分布式架构电商项目-29】搭建购物车系统
需求描述1、 用户可以在登录状态下将商品添加到购物车 2、 用户可以在未登录状态下将商品添加到购物车 3、 用户可以使用购物车一起结算下单 4、 用户可以查询自己的购物车 5、 用户可以在购物车中可以修改购买商品的数量。 6、 用户可以在购物车中删除商品。开发模式:敏捷开发 2个核心: 1、 用户故事 2、 周期迭代业务流程搭建购物车系统...原创 2018-05-16 14:43:21 · 3717 阅读 · 5 评论 -
【SSM分布式架构电商项目-28】RabbitMQ实现商品数据的同步
Spring-RabbitSpring项目http://spring.io/projects 简介使用消费者生产者配置文件1、 定义连接工厂 2、 定义模板(可以指定交换机或队列) 3、 定义队列、交换机、以及完成队列和交换机的绑定 4、 定义监听 5、 定义管理,用于管理队列、交换...原创 2018-05-15 16:06:43 · 1259 阅读 · 0 评论 -
【SSM分布式架构电商项目-27】RabbitMQ的5种队列
5种队列导入itcast-rabbitmq简单队列 P:消息的生产者 C:消息的消费者 红色:队列生产者将消息发送到队列,消费者从队列中获取消息。导入RabbitMQ的客户端依赖获取MQ的连接package cn.itcast.rabbitmq.util;import com.rabbitmq.client.Connecti...原创 2018-05-14 16:02:09 · 1124 阅读 · 0 评论 -
【SSM分布式架构电商项目-26】RabbitMQ安装和设置
商品数据同步问题问题后台系统中将商品修改,前台系统没有进行数据的同步,导致前端系统不能够实时显示最新的数据。解决后台系统中商品修改后向其他系统发送通知,其他系统做出对应的处理即可。图解:怎么通知?1、 在前台系统中开发一个接口 2、 在后台系统中调用该接口 ...原创 2018-05-14 13:31:55 · 1008 阅读 · 0 评论 -
【SSM分布式架构电商项目-25】创建搜索系统
创建搜索系统taotao-search导入依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:...原创 2018-05-12 23:01:03 · 509 阅读 · 0 评论 -
【SSM分布式架构电商项目-24】Solr实现商品的搜索
导入数据数据来源,京东: 数据: 修改表结构导入图片数据测试: Solr的安装下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/下载得到zip压缩包,下载的版本为4.10.2. 文件大小148MB左右。 1、 将solr-4.10.2.zip文件拷贝到C盘;(或者其他盘都可以,...原创 2018-05-12 17:44:46 · 2053 阅读 · 0 评论 -
【SSM分布式架构电商项目-23】订单系统基于订单系统接口完成下单功能
下单按钮功能订单确认页去订单确认页 使用拦截器实现用户是否登录的校验拦截器 配置拦截器编写具体的业务逻辑点击提交订单事件 表单数据: 接收提交订单请求在web.xml中添加service/*请求进入SpringMVCController Service ...原创 2018-05-11 14:48:08 · 3284 阅读 · 0 评论 -
【SSM分布式架构电商项目-22】订单系统
导入taotao-order表结构订单表: 订单商品表: 疑问:为什么要冗余存储商品的基本信息?订单物流表(收货人信息): 开放平台http://open.taobao.com/doc2/apiDetail?spm=0.0.0.0.MiNiKt&apiId=47&docType=:配置tomcat插件配置ngin...原创 2018-05-10 20:18:55 · 4848 阅读 · 2 评论 -
【SSM分布式架构电商项目-21】SSO单点登录系统
为什么要使用单点登录系统?之前实现的登录和注册是在同一个tomcat内部完成,我们现在的系统架构是每一个系统都是由一个团队进行维护,每个系统都是单独部署运行一个单独的tomcat,所以,不能将用户的登录信息保存到session中(多个tomcat的session是不能共享的),所以我们需要一个单独的系统来维护用户的登录信息。单点登录系统(SSO)登录流程之前的登录流...原创 2018-05-10 16:02:07 · 2450 阅读 · 1 评论 -
【SSM分布式架构电商项目-20】商品详情页添加缓存
为什么要添加缓存?加快显示商品 详情页的速度。在哪里添加缓存?前台系统? 还是 后台系统? — 都加。每个团队都应该为自己的系统功能负责任,保证其性能。前台系统添加缓存导入依赖导入Spring和Jedis的整合文件<beans xmlns="http://www.springframework.org/schema/beans"...原创 2018-05-09 22:27:31 · 624 阅读 · 0 评论 -
【SSM分布式架构电商项目-19】商品详情页
进入商品详情页地址http://www.taotao.com/item/{itemId}.html商品基本数据显示前台页面: 这里需要取到下标为0的图片,说明images是一个数组,然而在我们后台Item类中: 后台的Item的images是String,以‘,’来分割图片url。我们前台并没有Item,而且我们还要满足images是数组,所以我们可以通过继承后台的...原创 2018-05-09 21:21:15 · 1988 阅读 · 0 评论 -
【SSM分布式架构电商项目-18】将Jedis集成到项目
添加缓存前的测试后台系统中添加缓存在Service中添加依赖&lt;dependency&gt; &lt;groupId&gt;redis.clients&lt;/groupId&gt; &lt;artifactId&gt;jedis&lt;/artifactId&gt;原创 2018-05-09 18:39:02 · 360 阅读 · 0 评论 -
【SSM分布式架构电商项目-17】Redis入门
缓存的需求上一遍博文:【SSM分布式架构电商项目-16】实现首页大广告和小广告,我们实现了首页的大广告和小广告。大广告位数据无需每次查询后台系统的接口,可以在前台系统添加缓存,提高访问首页的速度。商品类目的数据也可以缓存起来。实现: 使用Redis实现缓存。目前缓存的主流技术: 1、 Redis 2、 Memcached二者谁的性能更高? 1、 单纯...原创 2018-05-09 15:55:49 · 537 阅读 · 0 评论 -
【SSM分布式架构电商项目-16】实现首页大广告和小广告
实现大广告访问后台系统接口获取数据大广告数据结构: 用httpclient获取api接口,构造大广告数据结构: 设置大广告获取的api路径: 将json数据保存到模型数据中通过EL表达式输出到页面测试效果: 实现小广告分析实现Controller: Service: 效果: 优化实现...原创 2018-05-09 11:55:58 · 1236 阅读 · 0 评论 -
【SSM分布式架构电商项目-15】Httpclient访问接口服务
对外的接口服务我们把上一篇:【SSM分布式架构电商项目-14】后台CMS内容管理系统管理前台首页广告里面的ContentController拷贝到api包下,对外提供接口服务: package com.taotao.manage.controller.api;import org.springframework.beans.factory.annotation.Autowired;...原创 2018-05-08 19:51:47 · 1651 阅读 · 0 评论 -
【SSM分布式架构电商项目-14】后台CMS内容管理系统管理前台首页广告
首页的大广告JS效果: 1、 点击下面的序号选择查询哪个广告 2、 自动切换 3、 点击图片查询具体的页面以上是由前端团队来开发。数据结构说明:必须提供6条数据,才能显示效果。如何实现? 方案一: 1、 在后台系统中创建一张表,存储大广告位的广告数据 2、 在后台系统中对该表进行CRUD 3、 后台系统对外提供接口服务 4、 前台系统调...原创 2018-05-07 17:57:49 · 1559 阅读 · 0 评论 -
【SSM分布式架构电商项目-13】统一支持jsonp
扩展CallbackMappingJackson2HttpMessageConverter以后如果很多方法都需要jsonp的支持,那么下面这种写法就会使得我们的代码特别繁琐: 我们可以自己写一个自定义的消息转化器,继承MappingJackson2HttpMessageConverter:package com.taotao.common.spring.exetend.convert...原创 2018-05-07 12:07:52 · 314 阅读 · 2 评论 -
【SSM分布式架构电商项目-12】Jsonp解决项目中跨域问题
集成到前台系统上一篇博文:【SSM分布式架构电商项目-11】后台系统开发接口返回商品类目数据 我们已经实现了后台的接口,我们可以直接访问接口获取到数据了。现在我们要集成到前台系统,通过ajax去访问后台系统获取数据。 启动前台和后台进行测试: 可以看到数据是以及获取到。但是,出错(JS解析出错):跨域问题浏览器对ajax请求的限制,不允许跨域请求资源。ht...原创 2018-05-07 10:29:04 · 1042 阅读 · 0 评论 -
【SSM分布式架构电商项目-11】后台系统开发接口返回商品类目数据
功能构造数据category.getDataService({ "data": [{ "u": "/products/1.html", "n": "<a href='/products/1.html'>图书、音像、电子书刊</a>", "i": [{原创 2018-05-06 21:27:04 · 3360 阅读 · 0 评论 -
【SSM分布式架构电商项目-10】搭建前台系统
所使用的技术后台技术: Spring SpringMVC Mybatis(不用)? 前台技术:html、CSS、JS 如果不使用Mybatis,商品的数据从何而来? – 来源于Mysql数据库 获取数据的途径: 1、 从JDBC获取 a) 优点 i. 直接,获取的途径较短,简单 b) 缺点 i. 对后台系统团队而言,数据不安全(只要开放的账户是只读的账户即...原创 2018-05-06 19:37:05 · 1087 阅读 · 0 评论 -
【SSM分布式架构电商项目-09】后台管理系统商品规格参数
什么是商品规格参数 分析: 同一个商品类目下的商品的规格参数的格式(内容)一样,只是具体的数据不同。 不同的类目的商品规格参数的格式是不同的。 如何实现? 方案一: 针对每一个商品类目都创建一张表,来存储规格参数数据。就需要存储很多张表。可行性: 不推荐。 维护的表太多了。方案二: 使用模板的思想实现。 方案二具体实现: 1、 模板如何存储? a) 存储到...原创 2018-05-06 16:25:38 · 1623 阅读 · 0 评论 -
【SSM分布式架构电商项目-08】后台管理系统编辑商品信息
商品的编辑数据的编辑核心是:数据回显。编辑按钮事件1、 判断选中的行数 2、 弹出window 当窗口打开加载的时候回显数据。3、 加载编辑页面,在页面加载完时完成回显 获得选中的数据。$("#itemList").datagrid("getSelections")[0]; 利用EasyUI的form表单的数据回显。$("#it...原创 2018-05-05 21:45:43 · 1145 阅读 · 1 评论 -
【SSM分布式架构电商项目-07】后台管理系统查询商品列表以及日志的书写
查询商品列表JSEasyUI的datagrid的格式化输出默认情况下,会直接显示返回的数据,但是有些情况下不能直接显示,如:价格、日期、性别,需要指定formatter函数。 后台实现Controller /** * 查询商品列表 * * @param page * @param rows ...原创 2018-05-03 22:53:18 · 1393 阅读 · 0 评论 -
【SSM分布式架构电商项目-06】后台管理系统上传商品图片
1. 上传组件使用KindEditor的上传组件: 2. 上传组件的JS实现2.1 上传参数2.2 官方示例代码workspace/taotao-manage/taotao-manage-web/src/main/webapp/js/kindeditor-4.1.10/examples/multi-image-dialog.html 2.3 实现...原创 2018-05-03 17:57:50 · 3087 阅读 · 0 评论 -
【SSM分布式架构电商项目-05】后台管理系统新增商品
商品数据结构 表结构: 为什么价格要以最小单位分存储? – 为了避免小数计算带来的问题。商品描述表:为什么要将商品描述和商品的基本数据分离? 1、 商品描述的数据量大,会导致数据文件变大,影响查询速度。 2、 后期会对商品描述数据的存储做改造,所以需要将描述数据分离点击商品类目的叶子节点的事件 在item-add.jsp中定义: ...原创 2018-05-02 18:36:55 · 1487 阅读 · 0 评论 -
【SSM分布式架构电商项目-04】使用Spring4的泛型注入封装BaseService
每个service都几乎需要以下方法:1、 queryById 2、 queryAll 3、 queryOne 4、 queryListByWhere 5、 queryPageListByWhere 6、 save 7、 update 8、 deleteById 9、 deleteByIds 10、deleteByWhere在封装BaseService的...原创 2018-05-02 16:02:36 · 989 阅读 · 3 评论 -
【SSM分布式架构电商项目-03】Nginx入门
开发阶段中的环境开发环境:自己的电脑 测试环境:提供给测试人员使用的环境 生产环境:项目最终发布上线的环境预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试每个环境的访问地址是不同的,可能因为访问地址不同导致一些问题的产生,所以,为了避免该类问题的产生,可以使不同的环境访问地址完全一致,通过域名访问即可实现。通过域名访问后台系统现在:http://127.0...原创 2018-05-02 14:01:51 · 617 阅读 · 0 评论 -
【SSM分布式架构电商项目-02】实现后台管理系统的选择商品类目
首页的js布局实现这里采用的是easy-ui搭建的界面: 左中布局: 左侧菜单树: 效果: 菜单的点击事件选择商品类目功能描述:在新增商品时点击选择类目,弹出窗口,在窗口中显示商品类目数据。点击弹出框加载tree定义TAOTAO对象初始化过程1、 通过TAOTAO.init方法完成初始化 2...原创 2018-05-02 12:20:02 · 2315 阅读 · 0 评论 -
【SSM分布式架构电商项目-01】搭建后台管理系统的聚合工程
传统架构传统架构存在的问题: 1、 开发、维护代码比较困难 2、 系统内部的功能模块之间的耦合度太高了 3、 无法针对每个模块的特性做优化 4、 无法做服务器的水平扩展 5、 无法存储海量数据分布式系统架构各个系统说明: 聚合工程我们这里用后台管理系统为例,搭建一个SSM的聚合工程。为什么要搭建聚合工程? 以往我们搭建一个SSM的后台...原创 2018-05-01 16:52:02 · 1999 阅读 · 2 评论