引言
之前曾写过「互联网架构」专栏,里面的知识都比较零散,现在打算把学过的知识串联起来编写一套电商项目。
众所周知,目前主流的电商企业就是 “淘宝” 和 “京东” 了,跟个风,本电商项目叫 「淘东电商」 ,项目采用目前主流的SpringBoot/SpringCloud来构建,实现一套完整的解决方案。
后续文章代码都将提交到Github:https://github.com/ylw-github/taodong-shop
本文目录结构:
l________3.1 SpringBoot2.x+SpringCloud2.x
1. 系统架构图
2. 环境要求
由于本项目对环境的要求非常高
建议电脑配置:
- 在CPU I5
- 内存32GB
- 或者电脑采用集群化部署
开发环境要求:
- JDK统一要求:JDK1.8
- Maven统一管理jar
- 统一采用Docker安装软件
- 编码统一采用UTF-8
- 开发工具IDE或者Eclipse
3. 技术选型
3.1 SpringBoot2.x+SpringCloud2.x构建微服务电商项目
- 使用SpringCloud Eureka作为注册中心,实现服务治理
- 使用Zuul网关框架管理服务请求入口
- 使用Ribbon实现本地负载均衡器和Feign HTTP客户端调用工具
- 使用Hystrix服务保护框架(服务降级、隔离、熔断、限流)
- 使用消息总线Stream RabbitMQ和Kafka
- 微服务API接口安全控制和单点登录系统CAS+JWT+OAuth2.0
3.2 分布式基础设施构建
- 分布式任务调度平台XXL-JOB
- 分布式日志采集系统ELK
- 分布式事务解决方案LCN
- 分布式锁解决方案Zookeeper、Redis
- 分布式配置中心(携程Apollo)
- 高并发分布式全局ID生成(雪花算法)
- 分布式Session框架Spring-Session
- 分布式服务追踪与调用链Zipkin
3.3 项目运营与部署环境
- 分布式设施环境,统一采用Docker安装
- 使用jenkins+docker+k8s实现自动部署
- 微服务API管理ApiSwagger
- 使用GitLab代码管理
- 统一采用第三方云数据库
- 使用七牛云服务器对静态资源实现加速
4. 总结