商城简介

项目由业务集群系统+后台管理系统构成,打通了分布式开发及全栈开发技能,包含前后分离全栈开发、Restful接口、数据校验、网关、注册发现、配置中心、熔断、限流、降级、链路追踪、性能监控、压力测试、系统预警、集群部署、持续集成、持续部署…

一个完整的电商项目,采用现阶段流行的技术来实现,是一个非常好的练手项目,工作中或平时积累的技术的一次完美融合

持续更新中

分布式基础_全栈开发篇

使用SpringBoot+Vue+element-ui+逆向工程搭建全套后台管理系统,基于Docker环境,通过前后分离方式,以商品系统为例,进行全栈开发

分布式高级_微服务架构篇

开发整个商城系统,掌握微服务的全套方案。使用SpringBoot+SpringCloud并配套SpringCloud Alibaba系列,引入全套微服务治理方案:Nacos注册中心/配置中心、Sentinel流量保护系统、Seata分布式事务&RabbitMQ柔性事务方案、SpringCloud-Gateway网关、Feign远程调用、Sleuth+Zipkin链路追踪系统、Spring Cache缓存、SpringSession跨子域Session同步方案、基于ElasticSearch7全文检索、异步编排与线程池、压力测试调优、Redisson分布式锁、分布式信号量等

高可用集群_架构提升篇

基于kubernetes集群,整合kubesphere可视化界面,搭建全套系统环境。使用集群化部署,包括Redis Cluster集群,MySQL主从与分库分表(使用ShardingSphere完成)集群,RabbitMQ镜像队列集群,ElasticSearch高可用集群。基于kubesphere整合Jenkins全可视化CICD,全套Pipeline流水线编写,参数化构建+手动确认模式保证

组织架构

项目组织

touch-air-mall

├── doc 项目相关资料

├── img -- 图片样例

├── markdown -- 项目笔记

├── nacos -- nacos相关配置导出

├── nginx -- nginx相关配置

├── sql -- 数据库文件

├── tool -- 开发常用工具

├── mall-auth-server -- 认证服务

├── mall-cart -- 购物车服务

├── mall-common -- 工具类及通用代码

├── mall-coupon -- 优惠卷服务

├── mall-gateway -- 统一配置网关

├── mall-member -- 会员服务

├── mall-order -- 订单服务

├── mall-product -- 商品服务

├── mall-search -- 检索服务

├── mall-seckill --秒杀服务

├── mall-test-sso-client -- 单点登录客户端1

├── mall-test-sso-client2 -- 单点登录客户端2

├── mall-test-sso-server -- 单点登录服务端

├── mall-third-part -- 第三方服务

├── mall-ware -- 仓储服务

├── renren-generator -- 人人开源项目的代码生成器

├── renren-fast -- 人人admin管理后台

├── Jenkinsfile -- jenkins配置文件

└── renren-fast -- 人人admin管理后台

复制代码

部分功能演示

商品服务

三级分类

树形展示

树形拖拽保存

品牌管理

整合oss

属性分组

父子组件交互

级联选择器

商品新增发布

新增商品,保存spu、sku等基本信息,发布商品,数据同步到Es中,后续检索服务使用

查看ES中是否成功写入

商城业务

商城首页

nginx 域名访问--负载均衡到网关

动静分离--静态资源直接存放在nginx中

缓存--优化三级分类获取

商城检索

两种方式进入

第一种:进入商城首页 点击分类--手机

检索条件

1、全文检索:skuTitle -> keyword

2、排序:saleCount(销量)、hotScore(热度评分)、skuPrice(价格)

3、过滤:hasStock(是否有货)、skuPrice(价格区间)、brandId(品牌id 可以多选)、catalogId

4、聚合:attrs(属性)

5、面包屑导航

6、条件删除&条件筛选联动

商品详情

商品详情

社交登录

社交登录

单点登录

单点登录效果演示

购物车

购物车效果演示

订单业务

订单创建、验证令牌、验价、锁定库存

分布式事务

可靠消息模式

支付

沙箱环境演示:

提交订单,等待一分钟不支付,消息过期,关闭订单,解锁库存

预期结果:支付宝自动收单,交易超时无法支付

提交订单立马支付,支付成功,异步通知

预期结果:订单状态:已付款,库存锁定

秒杀服务

商品秒杀演示:校验合法性、信号量扣减、幂等性设置、MQ削峰

Sleuth+Zipkin服务链路追踪

效果演示

流水线构建微服务

流水线演示

技术选型

后端技术

架构图

系统架构图

业务架构图

商城项目划分微服务器,微服务商城项目相关推荐

  1. 项目部署到服务器需要做什么,项目部署到服务器。

    一.先构建需要部署的项目 image.png 二.找到对应项目,复制pull更新命令(更新镜像) image.png 三.在Xshellell中输入pull命令 [root@test28-nginx ...

  2. 多模块项目微服务器,springboot多模块项目(微服务项目)正确打包(jar)方式...

    大致步骤 新建一个springboot项目名称为父亲 添加父快捷方式.新建子模块,子模块同时插入新建springboot的项目,依次创建enty和web模块(关键是并配置好pom文件) web模块依赖 ...

  3. 微信商城用什么样的服务器,开通微信商城需要哪些资料?

    原标题:开通微信商城需要哪些资料? 企业开通自己的微信商城,可以更好的向用户展示自己的产品,也能让用户有更好的购物体验,不过很多商家在此前还没有接触过相关的微信商城的内容,也就对开通的方式不太了解.那 ...

  4. 项目有多少个服务器,创业者说:项目需要多少服务器之“用户访问模型”

    原标题:创业者说:项目需要多少服务器之"用户访问模型" 创业是一个永恒的话题,本文分享"3N技术创投"董事长兼创始人.常盈网络创始人.一块去旅游网创始人兼CTO ...

  5. 项目怎么放到服务器里,如何把项目放到服务器上

    如何把项目放到服务器上 内容精选 换一换 欢迎使用华为云开发者工具套件(Python SDK).Python SDK让您轻松编程即可访问云服务.本教程介绍如何安装和使用Python SDK,并提供示例 ...

  6. 如何将python项目部署到服务器_部署python项目到linux服务器

    第一步:安装Python3环境 1.首先安装编译环境(后续需要从python官网获取Python3的源码自己编译python) 1 yum install zlib-devel bzip2-devel ...

  7. 如何将本地python项目部署到服务器上_如何将本地的Django项目部署到云服务器

    如何将本地的Django项目部署到云服务器 开发环境 开发语言: Python 后台框架:Django 前端框架:bootstrap web服务器:nginx wsgi服务器:uwsgi 查看本地项目 ...

  8. 如何将本地django项目部署到服务器,Django本地项目部署到云服务器

    开发环境 开发语言: Python 后台框架:Django web 服务器:nginx wsgi 服务器:uwsgi 云服务器系统:Ubuntu 查看本地项目 Django 和 Python 版本: ...

  9. egg项目部署到服务器

    egg项目部署到服务器 一.购买服务器 我这以阿里云服务器为例子 直接进入阿里云官网进行查看相关服务器,选择适合自己的购买 可在阿里云查看服务器状态,账号密码就是购买服务器时注册的账号密码 进入服务器 ...

最新文章

  1. devServer proxy跨域 设置代理 proxy
  2. 调试内存_C/C++程序调试和内存检测
  3. 通用权限管理系统组件中简易员工档案管理模块参考
  4. GIT项目管理工具(part6)--放弃工作区文件修改及从仓库区恢复文件
  5. Java ObjectOutputStream flush()方法与示例
  6. window mysql集群视频_windows7实现mysql集群cluster-mysql簇
  7. 数据仓库ETL(二)基本概念
  8. python3导入模块原理_python模块导入原理
  9. EDA技术与市场分析
  10. 软件著作权申请需要哪些材料?
  11. 实用的图片批量压缩优化工具
  12. 线性回归分析步骤总结
  13. 植物2 IOS 怎么实名认证_植物大战僵尸2未来世界22天困难怎么过关 植物阵容推荐...
  14. 解决mysql级联删除时不会启动delete触发器
  15. 微信发布的辟谣小程序
  16. 外设驱动库开发笔记47:ADS111x系列ADC驱动
  17. python打开zip文件_Python ZIP 文件创建与读取
  18. IP地址,子网掩码以及子网掩码的划分
  19. 技术丨说一说微信第三方平台的初步集成
  20. vue-cli 登录注册的实现

热门文章

  1. VC项目配置详解(转)
  2. 微信分享朋友圈:怎么才能发gif图
  3. 五星级调查公司一览,本页推介,绝对能收到钱,全是优秀调查公司
  4. Femtocell一种超小型手机基站设备
  5. docker中java钩子_springboot项目在docker容器中如何优雅关闭
  6. 供应商管理的策略与方法(转载)
  7. 电子技术经典资料汇总:PCB设计篇
  8. 西门子1200PLC中OB,FC,FB,DB
  9. 兄弟打印机扫描文件至计算机显示无法找到,Win10系统下Brother打印机无法扫描
  10. 蓝牙适配器不能识别的一种情况怎么解决,亲试有效