53 Star 525 Fork 276

余胜军-蚂蚁课堂 / mt-shop

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or download
README.en.md 9.10 KB
Copy Edit Web IDE Raw Blame History
余胜军-蚂蚁课堂 authored 2021-06-02 04:33 . 新增相关说明

技术架构

项目是采用目前比较流行的 SpringBoot/SpringCloudAlibaba构建新零售微服务电商项目,从项目中台架构技术选型、模块设计、基础设施的构建、分布式解决方 案、互联网安全架构设计、Devops与K8S容器化部署,apm应用程序性能监控、实现一套串联的新零售领域驱动模型社区电商项目,能完全掌握该知识,可以在一线城市 拿到月薪 30-50k 薪资。

相关作者

97后架构师-余胜军
QQ644064779 /微信yushengjun644
相关QQ粉丝群:496920771
个人网站:www.mayikt.com

相关jar包说明

启动项目无法找到alipay-sdk:1.5.0 请将: com.alipay:alipay-sdk:1.5.0 这个依赖无法下载,可以换成这个 com.alipay.sdk:alipay-sdk-java:4.13.58.ALL 即可。

技术图

输入图片说明

适合人群

1.工作 1-5 年的后端开发工程师;
2.传统企业转互联网开发同学;
3.金三银四跳槽,缺少互联网项目优势;
4.计划从二线跳槽去一线开发同学;
技术选项

核心架构技术方案

1.项目采用中台化设计,分为技术中台、业务中台、组织中台;
2.基于SpringBoot+SpringCloudAlibaba构建微服务电商项目
3.使用 Nacos 作为注册中心与配置中心,实现服务治理;
4.使用新一代 Gateway 网关框架管理服务请求入口;
5.使用 Ribbon 实现本地负载均衡器和 OpenFegin 客户端调用工具;
6.使用 Sentinel 服务保护框架(系统自适应限流、降级、热词限流等);
7.微服务 API 接口安全控制与单点登陆系统 CAS+JWT+Oauth2.0;
8.使用mybatisplus数据库持久层管理 分布式基础设施
1.分布式任务调度平台 XXL-Job;
3.分布式事务解决方案 Seata;
4.分布式锁 redislock/Redisson 与高可用设计原理;
5.分布式配置中心 Nacos ;
6.高并发分布式全局 ID 生成雪花算法;
7.基于 canal 结合 MQ 解决 MySQL 与 Redis/ES 一致性问题
8.基于网关统一解决微服务接口跨域问题
9.基于 openresty+lua+Redis 实现亿级商品详情页面
10.基于SkyWalking实现分布式系统监控APM;
项目运营与部署环境 1.分布式设施环境,统一采用 docker 安装;
2.使用 jenkins+结合 kubernetes(k8s)容器部署技术;
3.微服务 API 管理 ApiSwagger;
4.使用 GitLab 代码管理;
5.数据库使用MySQL5.7以上;
6.使用七牛云服务器对静态资源实现加速;
8.构建企业级 Maven 私服仓库管理jar包;

相关安排

Day1-项目架构技术选型与技术讨论:

  1. 架构技术选型与需求讨论、大中台 小前台设计;
  2. 新零售电商设计、领域驱动模型(DDD)设计等;

Day2-微服务项目构建初始化与企业级分布式基础设施构建:

  1. 项目构建初始化、注释规范、开发规范:po/do/vo/dto/bo 选择与应用;
  2. 项目全局异常、交互协议设计、统一错误码;
  3. 整合 Swagger 文档/gitlab 代码仓库管理/企业级 Maven 私服构建;
  4. Nacos 服务治理、与分布式配置中心构建 多 namespace 管理
  5. 整合 xxl-job 分布式任务调度平台 分片策略

Day3-构建企业级微服务公众号开发

  1. 微服务公众号开发思想、整合 wxjava 公众号快速开发框架
  2. 外网映射工具的使用、自动回复关键字设计、二维码生成

Day4-构建微服务会员服务中台设计

  1. 令牌登陆、唯一登陆、QQ/微信联合登陆、挤下线设计
  2. 拦截器、整合 jwt 授权设计+Oauth2.0 开放平台设计;
  3. 整合线程池、异步发送短信/邮件、改造 MQ 异步设计
  4. SSO 单点登陆设计原理整合 CAS

Day5-构建微服务消息服务中台设计

  1. 整合微信消息模板、第三方邮件服务、阿里云短信接口
  2. app 消息推送/消息服务中台同步/异步接口设计
  3. 整合 kafka 实现高性能异步群发消息服务平台

Day6-构建微服务优惠券与秒杀抢购中台设计

  1. 大型电商满减券、无门槛、新人优惠券设计;
  2. 大型电商优惠券库存锁定、定时优惠券任务发放设计
  3. 高并发情况下,如何保证秒杀扣库存超卖问题
    结合 Redis+lua 脚本实现分布式锁落地
  4. 高并发情况下,如何提高分布式锁的效率常见问题总结

Day7-构建微服务商品服务中台设计

  1. 商品中台 sku 库存锁定设计
  2. 结合优惠券、购物车复杂业务逻辑设计
  3. 整合 Elasticsearch 7 实现高性能搜索
  4. 基于 canal 解决 Elasticsearch 与 MySQL之间数据一致性问题
  5. CDN 设计原理、结合 openresty+lua 实现商品详情页面

静态设计
Day8-构建微服务-聚合支付中台设计:

  1. 整合支付宝、微信支付沙箱环境、支付架构原理
  2. 基于策略+模板自定义 starter 构建聚合支付框架
  3. 支付回调幂等、超时、安全、延迟设计
  4. 基于 lua 脚本+Redis 实现防重设计、定时对账设计
  5. 基于 seata 解决支付回调分布式事务问题

mayikt-springboot-starte

Day9-构建分布式基础设计日志采集系统:

  1. Aop 切面采集、打印日志规范、日志队列设计
  2. log-pilot 开源日志框架介绍
  3. 结合 k8s 整合 log-pilot 框架日志解决方案

Day10-构建微服务智能报警中台设计:

  1. 接口,服务器监控、接口埋点原理
  2. 宝塔安装与监控私有云服务配置
  3. 网站 pv/uv 、qps/tps 之间的区别4. 整合百度统计、cnzz 大数据分析
  4. 全链路压测实战设计原理
  5. 生产环境流量回访、Grafana 运维报警

Day11-构建微服务落地容器化部署

  1. 高并发请求下,私有服务器弹性与缩容设计
  2. 整合 k8s+jenkins+私有仓库自动化部署
  3. 服务器配置选项、团队规模人数定义
    Day12-一线大厂简历面试辅导
  4. 提供架构师/一线大厂真实简历模板
    2.真实大厂面试经验分享

环境要求

为了能够更好的学习互联网微服务架构,该项目对环境要求非常高,建议电脑配置CPU在I7 8700k以上处理、32GB内存或者电脑采用集群化部署。
1.JDK统一要求:JDK1.8以上
2.Maven 统一管理Jar
3.统一采用Docker安装软件
4.编码统一采用为UTF-8
5.开发工具完全采用IDEA

学习方式

1.腾讯课堂在线学习方式(选择第七期和第八期) https://ke.qq.com/webcourse/index.html#cid=291872&term_id=102601151&taid=9006198527652896&type=1024&vid=5285890815286075327

项目的架构模块架构模型

mt-sp-parent-----公共Pranet接口 pom
-----mt-sp-basics----分布式基础设施 pom
---------mt-sp-basics-alibaba-nacos—注册中心 8080 jar
---------mt-sp-basics-alibaba-nacos—分布式配置中心 8080
---------mt-sp-basics-alibaba-seata 分布式事务解决方案 8730
---------mt-sp-basics-gateway—统一请求入口 80
---------mt-sp-basics-SkyWalking ---分布式服务追踪与服务监控
mysql、redis、es

---------mt-sp-basics-alibaba-canal mysql与redis/es一致性的问题
---------mt-sp-basics-xuxueli-xxljob—分布式任务调度平台

-----mt-sp-service-api提供公共接口 没有实现业务代码
------------ mt-sp-service-api-member会员服务接口
------------ mt-sp-service-member会员服务接口实现 7070 7071

------------ mt-sp-service-api-weixin 微信服务接口

-----mt-sp-service-api提供公共接口 没有实现业务代码
------------ mt-sp-service-api-base api相关base继承类
------------ mt-sp-service-api-weixin 微信服务接口
------------ mt-sp-service-api-member会员服务接口
------------ mt-sp-service-api-sso sso服务接口
------------ mt-sp-service-api-item 商品服务接口
------------ mt-sp-service-api-coupon 优惠券
------------ mt-sp-service-api-search 搜索服务接口
------------ mt-sp-service-api-pay聚合支付平台
------------ mt-sp-service-api-order订单服务接口
------------ mt-sp-service-api-spike 秒杀服务接口
------------ mt-sp-service-api-sms 消息服务平台
包名格式:com.mayikt.api.weixin

服务接口中包含内存内容: 实体类层、接口层

-----mt-sp-service-impl 公共接口的实现层
------------ mt-sp-service-weixin 微信服务接口实 现 9090 9091 9092
------------ mt-sp-service-member会员服务接口实现 7070 7071
------------ mt-sp-service-api-sso sso服务接口实现 6060
------------ mt-sp-service-tem商品服务接口实现 5050
------------ mt-sp-service-coupon 优惠券
------------ mt-sp-service-search 搜索服务接口实现 3030
------------ mt-sp-service-pay聚合支付平台接口实现 2020
------------ mt-sp-service-order订单服务接口实现 1010
------------ mt-sp-service-spike 秒杀服务接口 4040
------------ mt-sp-service-sms 消息服务平台 9810

Comment ( 0 )

Sign in for post a comment

Java
1
https://git.oschina.net/yushengjun644/mt-shop.git
git@git.oschina.net:yushengjun644/mt-shop.git
yushengjun644
mt-shop
mt-shop
master

Search