项目最大特点: 商家通过申请平台入驻
分为三大子系统 网站的前台, 运营商后台, 商家管理后台
- 网站前台 技术涉及
广告 导航 搜索
商品详情页 设计 freemarker
购物车 涉及
购物车分组
结算 付款方式
提交订单 出现二维码
- 运营商后台涉及
商家通过审核
- 商家管理后台 涉及
面向服务的架构 SOA
每个方面的业务逻辑功能 独立的应用 分别部署在不同的服务器
页面与逻辑进行分离
实际上是分布式架构
每一个橙色小方块 都是一个工程 都是独立部署的应用 橙色部分 只包括 controller 和 页面 没有业务逻辑
dubbox是 SOA架构解决方案的一种
绿色 部分 dubbox 来调用 服务层(service)
这种架构web层不直接依赖于服务层 而是通过网络去调用 dubbox做技术支持
橙色部分和 蓝色部分 的关系是多对多, 一对多 等关系
数据库访问层 数据库分片 数据库集群
消息中间件 ActiveMQ 异步调用 完成验证短信的 邮件 静态页面生成
搜索模块 solr集群
规格和表结构
商品明细 sku 和 spu 的关系
iphoneX 是一个 商品 sku
它有很多颜色 规格 spu
前后端编程架构
通过AJAX 和后端交互
SSM+dubbox
Dubbox框架 分布式框架 SOA架构的 一个解决方案
HSF 与 dubbox 冲突. 阿里不在维护dubbo, 当前当当 维护dubbo 并在此基础上, 出现了 dubbox
dubbox工作流程
注册中心 服务提供方(service层) 服务消费方 (web层)
- 服务提供方 将地址 告诉注册中心
- 注册中心存在着 地址 对应着 服务
- 消费方连接注册中心 调用订阅服务
- dubbo monitor 监控 服务方, 调用方
服务消费方 (租客) 注册中心(中介) 服务提供方(房东)
注册中心 使用什么? Zookeeper 做注册中心 负责服务地址的注册和查找
服务提供者 和 服务消费者 在启动的时候与服务中心交互
调用方 通过注册中心 找到服务提供方
Linux 改名 mv 要改的名字
运行 ./zkServer.sh start
dubbox jar包 并没有上传到 中央仓库
需要手动安装到 本地仓库
离线约束
演示 小demo
因为 每个服务都是部署到单独的服务器里
所以选择 war 形式打包
- 使用@Service 注解是 dubbox的注解
否则不会被注册中心查到
appliactionContext.xml 中配置 注册中心
dubbo : application 当前 应用名
dubbo : registry address =”注册中心地址”
dubbo : annotation 包扫描
pinyougou-server
Linux 终端下 su root 输入密码
cd ~
进入目录
创建Maven工程pinyougou-parent (POM) ,
groupId 为com.pinyougou
artifactId 为pinyougou-parent ,
在pom.xml中添加锁定版本信息dependencyManagement与pluginManagement
新建下面几个模块
pinyougou-common 通用模块层
pinyougou-pojo 实体类
pinyougou-dao 持久层 数据访问层
———————- 依赖pinyougou-pojo
pinyougou-sellergoods-interface 商家商品服务接口
pinyougou-sellergoods-service 商家商品服务接口实现 (服务的提供方)
pinyougou-shop-web 商家管理后台 war
pinyougou-manager-web 运营商管理后台 war
商家接口类 jar
Controller中的注解
1 |
import org.springframework.web.bind.annotation.RestController; |
Day02
前端引入分页需要的文件
pagination.js
分页控件加载时 触发 查询所有信息的方法
Day06
商品一级, 二级,三级 模版分类
arg1 : 当arg0改变的时候出发的方法
变量监控 $scope.$watch(‘要监控的变量’, function(new )) ;
脏读 读到未提交的数据
虚读 不可重复读 两次读到的数据不一致
幻读 两次读取的数量不一致
近期评论