Skip to content

基于SpringCloud微服务技术开发的“淘东”电商项目

Notifications You must be signed in to change notification settings

zhr5/taodong-shop

 
 

Repository files navigation

1. 项目介绍

Github地址:https://github.com/ylw-github/taodong-shop

众所周知,目前主流的电商企业就是 “淘宝” 和 “京东” 了,跟个风,本电商项目叫 《淘东电商项目》 ,项目采用目前主流的SpringBoot + SpringCloud来构建,实现一套完整的微服务解决方案。

登录界面

主页面

2. 项目架构图

项目架构图

3. 环境需求

由于本项目对环境的要求非常高

建议电脑配置:

  • 在CPU I5
  • 内存32GB
  • 或者电脑采用集群化部署

开发环境要求:

  • JDK统一要求:JDK1.8
  • Maven统一管理jar
  • 统一采用Docker安装软件
  • 编码统一采用UTF-8
  • 开发工具IDE或者Eclipse

4. 技术选型

4.1 SpringBoot2.x+SpringCloud2.x构建微服务电商项目

  1. 使用SpringCloud Eureka作为注册中心,实现服务治理
  2. 使用Zuul网关框架管理服务请求入口
  3. 使用Ribbon实现本地负载均衡器和Feign HTTP客户端调用工具
  4. 使用Hystrix服务保护框架(服务降级、隔离、熔断、限流)
  5. 使用消息总线Stream RabbitMQ和Kafka
  6. 微服务API接口安全控制和单点登录系统CAS+JWT+OAuth2.0

4.2 分布式基础设施构建

  1. 分布式任务调度平台XXL-JOB
  2. 分布式日志采集系统ELK
  3. 分布式事务解决方案LCN
  4. 分布式锁解决方案Zookeeper、Redis
  5. 分布式配置中心(携程Apollo)
  6. 高并发分布式全局ID生成(雪花算法)
  7. 分布式Session框架Spring-Session
  8. 分布式服务追踪与调用链Zipkin

4.3 项目运营与部署环境

  1. 分布式设施环境,统一采用Docker安装
  2. 使用jenkins+docker+k8s实现自动部署
  3. 微服务API管理ApiSwagger
  4. 使用GitLab代码管理
  5. 统一采用第三方云数据库
  6. 使用七牛云服务器对静态资源实现加速

5. 项目目录结构

  • l____ taodong-shop-basics(分布式基础设施)
  • l________ taodong-shop-basics-eureka(注册中心)
  • l________ taodong-shop-basics-apollo-config-server(分布式配置中心)
  • l________ taodong-shop-basics-elk-kafka(分布式日志采集系统)
  • l________ taodong-shop-basics-lcn(分布式事务解决框架)
  • l________ taodong-shop-basics-xxljob(分布式任务调度平台)
  • l________ taodong-shop-basics-xxlsso-server(分布式单点登录系统)
  • l________ taodong-shop-basics-zipkin(分布式调用链系统)
  • l________ taodong-shop-basics-zuul(网关)
  • l____ taodong-shop-service-api(接口层)
  • l________ taodong-shop-service-api-goods(商品服务接口)
  • l________ taodong-shop-service-api-member(会员服务接口)
  • l________ taodong-shop-service-api-order(订单服务接口)
  • l________ taodong-shop-service-api-pay(支付服务接口)
  • l________ taodong-shop-service-api-search(搜索服务接口)
  • l________ taodong-shop-service-api-spike(秒杀服务接口)
  • l________ taodong-shop-service-api-sso(单点登录服务接口)
  • l________ taodong-shop-service-api-weixin(微信服务接口)
  • l________ taodong-shop-service-api-integral(积分服务接口)
  • l________ taodong-shop-service-api-auth(OAuth授权验证服务接口)
  • l____ taodong-shop-service(服务层)
  • l________ taodong-shop-service-goods(商品服务)
  • l________ taodong-shop-service-member(会员服务)
  • l________ taodong-shop-service-order(订单服务)
  • l________ taodong-shop-service-pay(支付服务)
  • l________ taodong-shop-service-search(搜索服务)
  • l________ taodong-shop-service-spike(秒杀服务)
  • l________ taodong-shop-service-sso(单点登录服务)
  • l________ taodong-shop-service-weixin(微信服务)
  • l________ taodong-shop-service-integral(积分服务)
  • l________ taodong-shop-service-auth(OAuth授权验证服务)
  • l____ taodong-shop-portal(门户)
  • l________ taodong-shop-portal-cms(管理系统)
  • l________ taodong-shop-portal-search(搜索系统)
  • l________ taodong-shop-portal-spike(秒杀系统)
  • l________ taodong-shop-portal-sso(秒杀系统)
  • l________ taodong-shop-portal-web(门户系统)
  • l________ taodong-shop-portal-pay-web(支付系统)
  • l____ taodong-shop-api-dto(DTO)
  • l________ taodong-shop-api-item-dto(商户服务DTO)
  • l________ taodong-shop-api-member-dto(会员服务DTO)
  • l________ taodong-shop-api-order-dto(订单服务DTO)
  • l________ taodong-shop-api-pay-dto(支付服务DTO)
  • l________ taodong-shop-api-search-dto(搜索服务DTO)
  • l________ taodong-shop-api-spike-dto(秒杀服务DTO)
  • l________ taodong-shop-api-sso-dto(单点登录服务DTO)
  • l________ taodong-shop-api-weixin-dto(微信服务DTO)
  • l____ taodong-shop-common(通用框架)
  • l________ taodong-shop-common-core(核心工具类)
  • l________ taodong-shop-common-web-core(web核心工具类)
  • l________ taodong-shop-common-xxlsso-core(单点登录系统核心工具类)
  • l____ taodong-shop-pay-plugin(支付插件)
  • l________ taodong-shop-union-plugin(银联支付插件)
  • l________ taodong-shop-alipay-plugin(支付宝支付插件)

6. 功能实现

6.1 项目立项&基础设施搭建

6.2 微信公众号&注册功能

6.3 会员唯一登录功能

6.4 会员SSO单点登录功能

6.4 分布式日志采集

6.5 聚合支付

6.6 互联网安全架构

6.7 秒杀系统

About

基于SpringCloud微服务技术开发的“淘东”电商项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 59.4%
  • CSS 19.3%
  • FreeMarker 9.4%
  • JavaScript 8.1%
  • PLpgSQL 3.8%