首页 > 其他分享 >第十阶段:互联网项目实战

第十阶段:互联网项目实战

时间:2023-01-04 15:58:00浏览次数:38  
标签:实战 功能 第十 项目 用户 商品 互联网 完成 采用

认清现实 , 放弃幻想。 (特此感谢动力节点老杜分享出来的学习路线)


img

10. 第十阶段:互联网项目实战

img

10.1 项目:动力商城

10.1.1 技术架构

SpringBoot + SpringCloud + Mysql-Cluster + Mybatis-plus + Redis-Cluster+ MongoDB + Elasticsearch + FastDFS + RocketMQ + Oauth2.0 + JWT + LCN+AliPay+ Wechat + Linux + Nginx + Docker + ECS+JDK1.8 + IDEA(IDE)+ Maven+GitLab+ Tomcat + Postman + Navicat + SourceTree+Vue+elementui

10.1.2 项目介绍

动力商城是以 B2C 模式运营的在线商城,总览企业及公司产品于一体,主打自主研发品牌以推广的互联网化新商城。系统采用的微服务架构模式,以功能模块划分,前台系统主要功能包括用户注册和登录,商品浏览,商品收藏,评论展示,我的订单,网站导航,我的购物车,订单支付,产品咨询,个人中心,客服系统,会员系统,频道系统等系统。后台主要功能包括用户信息管理,商品管理,商品分类管理,消息管理,订单管理,商品评价管理,用户反馈管理,日志系统管理,竞品分析系统,服务监控系统,报表系统,供应商系统。库存系统等..功能及技术要点说明:

1.采用微服务(SpringCloud+alibaba)技术框架搭建和开发

2.接口采用 RestFul 风格设计并且使用 Yapi 做接口文档

3.采用 Mysql 作为项目数据库,搭建 Mysql 主从集群,在项目中使用自定义注解+AOP完成读写分离的操作

4.搭建 Redis-cluster 作为项目的缓存中间件,使用自定义注解完成查询菜单等数据的缓存,提高系统性能,并且合理地设置过期时间以及淘汰策略,避免出现缓存雪崩等情况

5.使用 Nacos 集群搭建注册中心,完成服务的注册和发现/并且作为项目的配置文件中心,使得服务和配置文件集中化管理和复用

6.采用新一代网关 Gateway 结合注册中心完成请求动态路由,使用全局过滤器完成token的校验,ip 黑名单,结合 Redis 做限流操作

7.在项目授权中使用 Oauth2.0 整合 jwt 非对称加密做项目应用的授权,抽象common模块完成资源服务器的统一解析工作,并且将 jwt 存入 redis,整合网关做业务登出功能,增强系统的安全性

8.使用 spring-admin 作为服务解控组件,实时监控服务状态,当服务出现问题,可以邮件发送给维护人员,及时解决问题

9.使用递归加载菜单,并且将菜单数据存入 Redis,提高用户体验

10.前后端分离方式,前端封装权限验证组件,后端接口采用权限注解的方式完成按钮的显示和隐藏,以及确保用户在不通过按钮的情况下,直接访问后端接口

11.自定义日志注解,将用户操作日志,通过 AOP 等技术,记录到Es/MongoDB 中,定期做日志分析,发现用户操作习惯以及接口响应速度瓶颈,并且做定期优化

12.搭建 log-service 来做统一的系统日志采集,各功能模块将系统日志,通过RocketMQ异步的方式发送到日志中心,日志中心统一持久化 (ELK)

13.搭建 Fastdfs/OSS 对象存储分布式文件服务器,将系统文件统一上传管理

14.设计用户角色权限等经典 RBAC 完成基于角色的授权方案

15.服务间采用 openFeign+Hystrix 完成远程调用和熔断方案

16.设置 Feign 的拦截器完成各种场景下 token 的传递机制,保证服务接口安全

17.完成商品分类,商品属性规格,商品标签,商品评论等业务功能

18.处理 sku 和 spu 的以及属性值等关系,完成商品的新增上架功能

19.采用 Elasticseach 作为项目搜索引擎,完成模糊查询,分页,排序,高亮等复杂查询

20.在项目启动时使用自定义分页和多线程的方式完成 Mysql 商品数据全量同步Es

21.采用窗口滑动模型完成生产环境中商品修改的增量导入功能

22.采用 xxl-job 分布式定时任务调度中心完成项目中的定时任务功能

23.采用消息队列 MQ 完成商品快速同步 Es 的功能

24.调用第三方接口获取省区市等地域地址,完成商城门店管理业务

25.前台商城采用微信小程序的方式,先通过 wx.login 获取code 再通过服务器发送请求获取 openId,并且整合 oauth2.0 完成微信小程序和后端的交互凭证功能

26.完成用户收藏和取消商品的业务,完成用户新增收货地址以及修改默认收货地址等业务

27.搭建 message-service 消息模块,完成项目中消息的处理,整合阿里大于完成短信发送功能,结合微信公众平台完成微信消息的推送功能,并且持久化到数据库

28.完成商品的展示以及多种评论的展示业务

29.独立完成购物车模块,实现多租户多店铺添加购物车,以及购物车商品回显的功能

30.编写 order-service 订单模块业务,使用雪花算法生成全局唯一订单号,完成从商品以及购物车的订单确认

31.在用户下单时清空购物车,远程调用扣减数据商品库存,通过mq 修改es 中的库存,写订单表,同时写延迟队列

32.采用 LCN 分布式事务框架,处理项目中的分布式问题

33.采用延迟队列完成用户下单后超时未支付,商品库存回滚等功能

34.集成微信支付,完成用户下单后拉起微信支付功能

35,秒杀子系统

  • 在每天的 10 点 将 mysql 的数据同步到 redis 中去 在 web 门户模块中接收前端发来的请求,通过 bloomFilter 对用户和商品进行过滤,确保一个用户针对一件商品只能购买一次
  • 在通过 redis 做库存的预判,并且多方 10%的流量进入抢购,确保商品都可以售完,也可以节省大量无效请求进入 RocketMQ
  • 快速返回请求结果,让线程立刻回收,提高服务器并发性能 在 service 消费者模块,使用多线程的方式进行数据处理 使用 redis 来作为分布式锁工具,使用 redisson 客户端工具完成,锁超时、锁续命等问题
  • 将数据库商品库存扣减,并且写入订单表,同时做好事务处理。

标签:实战,功能,第十,项目,用户,商品,互联网,完成,采用
From: https://www.cnblogs.com/NorthPoet/p/17025065.html

相关文章

  • JS逆向实战10——某集团RSA长加密
    由于本网站较为特殊目标网站加密与其他稍有不同目标网站:68747470733a2f2f65632e6d696e6d6574616c732e636f6d2e636e2f6f70656e2f686f6d652f70757263686173652d696e666f2f......
  • Kotlin实战之Fuel的高阶函数
    ​​Fuel​​​是一个用Kotlin写的网络库,与OkHttp相比较,它的代码结构比较简单,但是它的巧妙之处在于充分利用了​​Kotlin的语言特性​​,所以代码看上去干净利落。OkH......
  • 第七阶段:企业框架实战
    认清现实,放弃幻想。(特此感谢动力节点老杜分享出来的学习路线)7.第七阶段:企业框架实战7.1Linux/Centos7.1.1学习目标1.掌握Centos系统常用命令2.掌握......
  • 《Unity 2D与3D手机游戏开发实战》上架了。
    新书上架了。这本书主要是Unity开发的入门,附带了一个简单的2D例子,一个3DRPG的简单例子和一个尽可能用插件实现的射击游戏的例子。书很薄,不过因为是彩页印刷,价钱不是那么实......
  • USB应用实战视频教程第5期:手把手玩转USB HID免驱方式下位机和QT6.4上位机开发上篇(2022
     前两期USB实战视频教程分享了USBBULK的下位机和QT6.4下位机开发,本期视频教程,我们带来HID的免驱方式玩法,上篇依然是先分享下位机开发方式另外还有很重要的一点,早期的F1,F2......
  • 从实战开始,零基础Docker入门教程
    前提本文是基于windows环境下使用docker的学习文章其实我也有很长的一段时期在ubuntu系统下开发,很喜欢linux系统的纯净方便,但是当你身边同事都是使用windows与你交流沟通......
  • linux回炉第十四天
    opensslmd5/etc/passwdmd5sum/etc/passwdopensslsha512/etc/passwdsha512sum/etc/passwdopensslpasswd-6-saltLlWf/IWGEZYCYlXQ(umask077;opensslgenrsa-ou......
  • MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成
    Swagger是什么?Swagger是一个规范且完整API文档管理框架,可以用于生成、描述和调用可视化的RESTful风格的Web服务。Swagger的目标是对RESTAPI定义一个标准且和语......
  • DVWA靶场实战(三)——CSRF
    DVWA靶场实战(三)三、CSRF:1.漏洞原理:CSRF(Cross-siterequestforgery),中文名叫做“跨站请求伪造”,也被称作“oneclickattack/sessionriding”,缩写为“CSRF/XSRF”......
  • 【拓展】745- Windows Server 升级 HTTPS 实战
    趁着国庆假期,开发了个小程序,但需要服务器使用HTTPS协议,因此借这次机会,学着自己完成HTTPS升级工作。如有什么错误,欢迎指正!......