导航
课程首页
  • PM-Summit 全球产品经理大会云会员
  • SDCon 全球软件研发技术大会云会员
  • ML-Summit 全球机器学习技术大会云会员
  • C++性能优化高端培训
  • AI全栈开发实战营
精品课 极客时间

C 知道

登录
会员中心
消息
历史
创作中心
创作
学习中心
成为讲师

SpringCloud技术栈微服务架构天猫商城企业级开发实战(附源码)

SpringCloud技术栈微服务架构天猫商城企业级开发实战(附源码)
共400节 1677人在学 课程详情
课程目录
讨论留言
  • 微服务架构基础入门

    • 为什么需要微服务
    • 微服务架构演进
    • Java常见的微服框架
    • SpringCloud简介
    • SpringCloud版本选择
    • SpringCloud组件停更问题
    • SprigCloud入门程序需求
    • SpringCloud入门程序-服务提供者
    • 测试服务的提供者
    • SpringCloud入门程序-服务消费者
    • 消费者消费服务端数据
    • SpringCloud入门程序小结
  • SpringCloud组件之Eureka

    • 开启SpringBoot热启动
    • IDEA中设置Run Dashboard
    • 调用端获取天猫首页的商品数据
    • 天猫首页数据展示
    • 展示商品的数据
    • 天猫商城前端和后端
    • Eureka简介
    • Eureka基本结构
    • 配置一台Eureka服务器
    • 测试Eureka
    • Eureka简单复习
    • 服务提供者把服务注册到Eureka
    • 消费者把自己也入驻到Eureka
    • 消费者获取服务列表进行消费
    • 消费者修改调用代码
    • 设置服务的ID名字
    • Eureka的高可用简介
    • 准备另外2台Eureka服务器
    • 搭建Eureka高可用集群
    • 查询Eureka集群状态
    • 关于Eureka高可用的测试
    • Eureka服务的注册与续约
    • Eureka的几个时间
    • Eureka的自我保护机制
    • Eureka自我保护
    • 分布式系统CAP理论
    • CAP面试题
  • SpringCloud组件之Ribbon

    • Ribbon的简介
    • LB负载均衡概念
    • 关于项目部署多个实例问题
    • 一个SpringBoot启动多个实例
    • 打包的方式把项目做成集群
    • 为什么需要用Ribbon
    • Ribbon的基础配置
    • Ribbon的默认轮询算法
    • Ribbon的源码分析
    • Ribbon的重试机制
    • Ribbon负载均衡算法
    • Ribbon负载均衡算法的修改
    • Ribbon自定义负载均衡算法
    • Feign简介
    • Feign的简单使用
  • 天猫商城首页

    • 项目中小细节
    • 检查FastDFS图片服务器
    • 准备一台注册中心
    • 创建广告服务
    • 首页加载广告数据
    • 首页轮播图展示
    • 显示类别广告
    • 查询商品的分类
    • 关于天猫首页广告展示
    • 加载一级分类
    • 关于前端样式问题
    • 三级类目展示
    • 准备一个注册的页面
    • 会员注册的基础流程
  • 电商会员模块

    • 会员注册的逻辑代码
    • 创建一个地址服务
    • 地址三级联动
    • 用户注册
    • 用户注册验证码需求
    • 关于Java短信发送平台
    • 短信发送API说明
    • 准备短信发送API工具
    • 短信发送测试
    • 短信发送的业务逻辑
    • 短信验证码测试
  • SpringCloud组件之Hystrix

    • 微服务的基础架构图
    • 服务的雪崩效应
    • Hystrix组件简介
    • 服务降级的概念
    • Hystrix服务降级配置
    • Hystrix解耦方式服务降级
    • 服务的熔断
    • Hystrix Dashboard简介
    • 配置Hystrix Dashboard仪表盘
    • 仪表盘参数简介
    • 关于Jmeter压力测试
  • Redis分布式缓存项目实战

    • 分布式缓存和搜索需求
    • Nosql数据库简介
    • Redis的简介
    • Redis的文档和官网
    • Windows版的Redis
    • Linux版Redis安装
    • Redis的前台启动
    • Redis的后台启动
    • Redis的关闭
    • Redis的客户端连接
    • Redis的IDEA插件
    • Windows版IDEA可视化工具
    • String数据类型常见命令
    • Hash表数据类型常见命令
    • list列表数据类型常见的命令
    • Set集合数据类型常见命令
    • SortedSet有序set的数据类型常用命令
    • Redis其他的key相关命令
    • SpringDataRedis简介
    • SpringBoot整合SpringDataRedis
    • 测试SpringDataRedis
    • 测试字符串类型的读写
    • 测试SET类型读写
    • 测试LIST类型的读写
    • 测试HASH类型读写
    • 测试ZSET类型读写
    • Redis持久化的概述
    • RDB数据持久化策略
    • RDB数据持久化策略测试
    • AOF数据持久化策略
    • AOF和RDB的小结
    • 项目缓存剖析
    • 项目中缓存业务逻辑
  • Redis分布式缓存集群

    • 关于缓存中的转换问题
    • 分布式项目下缓存一致性问题
    • 缓存的一致性问题设置
    • 缓存的预热的概念
    • Redis的主从的概念
    • Redis的主从的规划
    • 配置Redis的主从
    • 测试Redis主从
    • 关于主从架构容灾的问题
    • 哨兵模式简介
    • 哨兵模式的集群搭建
    • 哨兵模式测试
    • 关于项目哨兵模式连接问题
    • 回顾哨兵集群
    • SpringBoot连接Redis哨兵集群
    • 测试哨兵集群
    • redis-cluster集群概念
    • redis-cluster集群搭建
    • redis-cluster集群的测试
    • SpringBoot整合SpringData Redis连接
    • Redis-culster集群测试
    • 缓存预热概念
    • ApplicationRunner接口的作用
    • 实现缓存的预热
    • 缓存穿透
    • 缓存击穿
    • 缓存雪崩
    • 布隆过滤器的应用场景
    • 布隆过滤器的原理
    • Redis实现布隆过滤器的原理
    • Redisson实现布隆过滤器
    • Redis缓存穿透小结
  • 电商商品详情模块

    • 准备商品详情静态页面
    • 准备后台商品详情SQL
    • 准备商品数据
    • 商品详情数据展示1
    • 商品详情数据展示2
  • 分布式搜索elasticsearch

    • ES的简介
    • ES的优势
    • Windows的ES单机服务器安装
    • 安装ES可视化插件
    • 准备Linux的Docker服务器
    • Docker中部署ES服务器
    • ES的客户端工具
    • 创建索引库同时创建Mappging
    • 先创建索引库再创建Mappging
    • 删除索引库
    • 索引的创建和更新
    • 文档的查询
    • ES搜索的流程
    • 关于ES查询问题
    • 文档查询
    • ES的标准分词器
    • IK分词器简介
    • windows配置IK分词器
    • Docker的分词配置
    • 测试QueryString查询和Term查询
  • 分布式搜索ElasticSearch项目实战

    • 自定义IK分词规则
    • Spring Data ElasticSearch介绍
    • 整合Spring Data ElasticSearch
    • Spring Data ElasticSearch测试
    • 使用Java API创建索引和Mapping
    • 查询所有上架的商品数据
    • 创建搜索服务的工程
    • 启动搜索服务
    • 测试Mysql数据加载到ES中
    • 测试删除索引API
    • 测试搜索接口
    • Docker中ES版本升级
    • 导入商品的索引数据
    • 准备搜索的页面
    • 搜索页面数据展示1
    • 搜索页面数据展示2
    • 关于商品新增搜素问题
    • 搜索显示成交数据
    • 首页搜索功能
    • 关于ES数据同步问题
    • 上架商品数据进行搜索
    • 关于搜索的高亮显示
    • 搜索的分页处理
    • ES的集群必要性
    • ES的Windows集群搭建
    • ES的集群简介
    • ES的Windows集群回顾
    • 测试ES集群接口
    • ES的分片和副本分片
    • ES的分片原理
    • ES的Windows集群连接
    • ES的Windows集群Java测试
    • Linux中部署ES集群
    • Linux的ES集群部署
  • Nginx项目实战

    • 关于ES的Linux集群BUG
    • 微服务架构图
    • Nginx简介
    • Nginx的主要应用场景
    • Nginx的window下载与安装
    • Nginx的Linux版本安装
    • 使用Docker部署Nginx
    • Ningx的配置文件
    • Nginx反向代理的小案例
    • Nginx反向代理小案例
    • ES的Linux集群问题
    • ES集群的Linux版搭建
    • 测试Linux版的Docker集群
    • ES的脑裂
    • ES的脑裂如何优化
    • ES的脑裂小结
    • Nginx的负载均衡场景
    • Nginx默认轮询算法
    • Nginx常见的负载均衡算法
    • Nginx负载均衡小结
  • CAS单点登录

    • 关于Nginx高可用问题
    • 首页工程连接超时配置
    • 使用Nginx负载均衡天猫商城
    • 天猫商城域名模拟
    • 动静分离的优化
    • Nginx配置动静分离
    • CAS框架简介
    • 搭建CAS服务器
    • CAS服务器修改运行端口
    • 关于CAS的Http认证
    • CAS服务器连接真实的数据源
    • CAS服务改头换面
    • 登录的失败的信息提示
    • CAS密码加密配置
    • 关于自定义CAS加密算法需求
    • 把CAS服务器放入IDEA启动
    • CAS自定义加密算法
    • 准备一个Cas测试工程
    • SpringBoot整合CAS测试
    • CAS需要解决的问题
    • Shiro整合Cas配置文件
    • Shiro整合Cas的Realm
    • Shiro整合Cas静态资源问题
    • Shiro整合Cas获取登录用户名
    • Shiro整合Cas到项目中
    • 测试Cas和Shiro整合程序
    • Shiro不拦截静态资源
    • Shiro项目整合问题
    • CAS整合到项目
    • 用户登录数据整合
  • 电商购物车模块

    • 电商项目的核心模块
    • 电商的购物车基础前提
    • 静态资源拦截问题
    • 添加商品库存字段
    • 加入购物车之前验证登录
    • 准备购物车数据
    • 获取购物车的数据
    • 准备购物车的服务工程
    • 测试添加购物车
    • 准备购物车详情页面
  • 电商订单确认模块

    • 添加购物车业务完善
    • 查询我的购物车数据
    • 查询购物车数据展示
    • 结算跳转到订单确认页面
    • 确认订单数据展示
    • 用户地址数据展示
    • 线程安全问题简述
    • 悲观锁和乐观锁
    • Synchronized底层原理
    • 同步代码块VS同步方法
  • 分布式锁解决库存超卖

    • Lock锁的简介
    • 重入锁
    • 公平锁
    • synchronized和ReentrantLock的比较
    • 分布式锁的应用场景
    • 分布式锁的特点
    • 分布式锁的实现方式
    • 单机版下单锁的场景
    • 分布式锁的使用场景
    • 使用Jedis实现分布式锁
    • 准备redis测试工程
    • 将库存情况存入redis
    • 准备分布式锁的测试程序
    • 测试分布式锁
    • redis实现分布式锁的集群部署
    • 使用Redisson框架实现
    • Redis分布式锁的实现小结
  • SpringCloud Alibaba Seata分布式事务

    • 什么是事务
    • 事务的四大特性
    • 关于脏读的测试
    • 不可重复读
    • 幻读测试
    • 事务的四大隔离级别
    • JDBC的基础程序
    • JDBC事务的处理
    • Spring中事务的管理
    • Spring中事务特性
    • 七个传播特性
    • Spring事务底层AOP本质动态代理
    • JDK动态代理
    • CGLIB动态代理
    • 代理模式小结
    • 分布式事务的业务场景
    • BASE理论
    • 2PC两段提交
    • TCC两段补偿型
    • 异步通知型
    • 分布式事务常见框架选择
    • 分布式事务业务需求
    • 准备业务数据库
    • seata简介
    • seat的基本原理
    • seata的下载和安装
    • 订单服务整合seata
    • 库存服务整合seata
    • 用户服务工程整合seata
    • 订单工程主要下单逻辑
    • 测试seat分布式事务
  • 电商订单模块

    • 关于电商下单流程
    • 用户地址特效
    • 获取订单的数据
    • JSON转MAP
    • 下单的业务逻辑
    • 订单服务的调用测试
    • 分布式系统唯一ID生成方案
    • 下单的业务代码
    • 下单的业务测试
    • 测试下订单
    • 项目中整合Redission分布式锁
    • 项目整合seata分布式事务
    • 秒杀业务场景
    • 秒杀的前端优化
    • 秒杀的后端优化
    • 秒杀系统架构图
  • 消息中间件RabbitMQ

    • 消息队列简介
    • 消息队列的应用场景
    • RabbitMQ简单介绍
    • AMQP是什么
    • RabbitMQ工作原理
    • windows版本的rabbitMQ下载安装和启动
    • windows版本的rabbitmq登录
    • docker部署rabiitMQ
    • HelloWorld测试程序-生产者
    • HelloWorld测试程序-消费者
    • Linux版本的消息队列测试
    • 关于电商的一些细节术语开始学习
    • RabbitMQ简单回顾
    • 封装RabbitMQ工具类
    • 工作队列模式
    • 发布订阅模式
    • 路由工作模式
    • 主题模式
    • RabbitMQ常见的工作模式
    • SpringBoot整合RabbitMQ
    • Direct交换机
    • Fanout交换机
    • Topic交换机
    • 交换机小结
    • 关于RabbitMQ消息幂等性问题
    • 消息幂等性问题
    • 准备消息幂等性测试工程
    • 测试消息重复消费问题
    • 死信交换机和死信消息
    • 备份交换机
    • RabbitMQ的配置
    • 测试备份交换机
    • 死信消息测试
    • 死信交换机和死信队列应用场景
    • 电商项目下订单超时支付自动关闭解决方案
    • 死信队列实现订单超时支付自动取消
  • 订单超时自动取消解决方案

    • 关于RabbitMQ消息的确认机制
    • 生产者发送确认代码测试
    • 消费者接收消息确认
    • 消息确认模式小结
    • 订单超时支付的设计方案
    • Redis的发布订阅模式
    • Redis开启Key过期监控事件
    • Redis测试订单超时支付项目整合流程
  • 电商支付模块

    • 项目整合订单超时支付
    • 测试Redis实现超时
    • 二维码插件生成二维码
    • 微信支付的申请
    • 调用微信统一下单接口生成支付二维码
    • 调用微信统一下单接口生成微信支付二维码
    • 调用查询订单接口查询订单状态
    • 微信支付测试
播放页问题反馈
视频学习中有任何产品建议都可由此反
馈,我们将及时处理!

课时介绍

同步代码块VS同步方法

课程介绍

天猫商城是一个基于SSM框架的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始,到完成登录,浏览商品,加入购物车,进行下单,确认收货,评价等一系列操作。 作为模拟天猫商城系统的核心组成部分之一,采用SSM框架的天猫数据管理后台包含商品管理,订单管理,类别管理,用户管理和交易额统计等模块,实现了对整个商城的一站式管理和维护。

本课程是一门专业的Java微服架构开发实战课程,主要讲解了当下流行的SpringBoot框架、SpringCloud架构以及与第三方技术整合开发实战内容。

通过本课程的学习,能够理解并掌握SpringBoot的基础知识,同时能够掌握SpringBoot与常用的第三方技术整合实现实际开发中的业务需求,包括实现Web开发、数据访问、缓存管理、安全管理、消息服务、任务管理等;了解并掌握SpringCloud微服务架构的基础知识及相关组件的应用,掌握微服务架构在企业级开发的实践,建立起微服架构思想。

项目技术栈:

采用SpringBoot简化商城系统的初始搭建以及开发过程

采用SpringMVC+Spring+IBatis完成项目的整合

采用Mysql作为数据库存储,Druid配置数据库连接池

采用SpringCloud+Netflix 微服务技术栈的实战开发

使用Redis完成缓存的数据存储,搭建Redis搭建主从、哨兵、集群应用,保证Redis的高可用

使用ElasticSearch全文检索系统进行商品数据搜索,使用ElasticSearch搭建搜索服务的高可用

使用Ngnix实现页面动静分离与负载均衡的配置

采用FastDFS文件储存系统文件存储,完成广告图片、商品图片的上传和存储

系统使用采用CAS+shiro单点登录系统实现用户认证

使用ECharts根据后台查询数据生成图表

使用POI实现了商城盈利状况的Excel表格导出。

商品的详情页使用Thymeleaf完成页面静态化,减少页面数据展示延迟

项目中使用SpringBoot下的Aop + 自定义注解完成用户行为记录,日志采集

后台管理系统使用Shiro实现登录验证和权限管理(超级管理员、管理员、产品编辑员)

项目整合微信完成订单的支付

使用Redission完成分布式锁,生成订单的编号

使用SpringCloud Alibaba Seat完成下订单模块的分布式事务(新增订单表,库存减少,库存超卖设计)

使用RabbitMQ 做消息队列,完成订单未支付自动取消和模块直接的解耦合

使用Quartz任务调度,完成缓存的定时刷新,保证缓存的一致性

使用本地消息表机制完成消息然队列RabbitMQ消息可靠性传输

订单支付模块使用微信扫码支付,并设置订单超时自动取消

通过Jquery实现前端校验,通过基于Hibernate的Valida注解实现后端的校验功能

使用Base64编码对Json数据传输进行编码和解码

项目使用RESTful设计风格实现资源的访问,实现前后端分离

项目使用聚合数据第三方短信平台完成用户的登陆功能

项目使用SpringBoot整合JavaMail完成邮件的发送

项目使用SpringBoot整合Swagger2生成接口文档

使用PostMan完成接口的测试

项目的测试:SpringTest、dbunit、EasyMock

使用Docker 进行应用的自动化打包和发布、自动化测试和持续集成、部署和调整其他应用

使用 PowerDesigner,完成数据库的建模

项目使用禅道进行BUG管理

环境采用Maven实施多模块项目构建,采用Git进行项目版本管理

 

架构解读:

 

 

项目部分截图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

讲义部分截图:

 

 

 

 

 

 

 

 

 

 

推荐课程

信息系统项目管理师自考笔记

李明 · 744人在学

python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

王先生 · 22167人在学

手把手搭建Java超市管理系统【附源码】(毕设)

汤小洋 · 4214人在学

Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

黄菊华 · 791人在学

基于SSM酒店管理系统(毕设)

小尼老师 · 842人在学

java项目实战之购物商城(java毕业设计)

Long · 5158人在学

手把手搭建Java求职招聘系统【附源码】(毕设)

汤小洋 · 1509人在学

Python Django 深度学习 小程序

钟翔 · 2328人在学

城管局门前三包管理系统+微信小程序(vue+springboot)

赖国荣 · 604人在学

Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

李杰 · 3993人在学

正在试验
后自动删除环境
课程实验
本次实验时间已到期 00:00:00

    订阅失败

    SpringCloud技术栈微服务架构天猫商城企业级开发实战(附源码)
    SpringCloud技术栈微服务架构天猫商城企业级开发实战(附源码) ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    课件正在飞速打包中,请耐心等待几秒钟~
    首页
    博客
    下载
    学习
    社区
    C知道
    GitCode
    InsCodeAI
    技术会议
    会员中心
    创作中心
    联系我们
    工作时间: 8:30 - 22:00
    客服电话: 400-660-0108
    kefu@csdn.net在线客服
    • 关于我们
    • 招贤纳士
    • 商务合作
    • 寻求报道
    • 京ICP备19004658号
    • 经营性网站备案信息
    • 公安备案号11010502030143
    • 营业执照
    • 北京互联网违法和不良信息举报中心
    • 家长监护
    • 中国互联网举报中心
    • 网络110报警服务
    • Chrome商店下载
    • 账号管理规范
    • 版权与免责声明
    • 版权申诉
    • 出版物许可证
    • ©1999-2024北京创新乐知网络技术有限公司