1 Star 1 Fork 0

CatKai / MT-dianping

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

MT-点评项目

介绍

一个仿大众点评项目,主要功能模块如下:用户短信登录;优惠券秒杀;发布博客及点赞;好友关注;用户签到等。

主要涉及的技术栈:Sping,SpringMVC,MyBatisPlus,SpringBoot,MySQL,Redis,RabbitMQ,Lua等。

项目上线地址

https://www.faded.top
(电脑端访问需要按F12后按下Ctrl+Shift+M切换设备仿真)

项目亮点

  • 应用 Redis 中的 Stream 数据类型与 RabbitMQ 分别实现高并发情况下的异步秒杀订单的流量削峰;
  • 运用 Redis 分布式锁和 Lua 脚本实现分布式锁,规避重复下单和库存不足问题,确保一人一单;
  • 优化登录拦截器,对当前全局所有路径进行用户token获取与刷新,防止用户token过期;
  • 使用 Redis 对高频访问店铺进行缓存,降低 DB 压力同时提升 90% 的数据查询性能;
  • 为方便其他业务后续使用缓存,使用泛型 + 函数式编程实现了通用缓存访问静态方法,并解决了缓存雪崩、缓存穿透等问题;
  • 使用 Redis 的 Geo + Hash 数据结构分类存储附近商户,并使用 Geo Search 命令实现高性能商户查询及按距离排序;
  • 使用 Redis List 数据结构存储用户点赞信息,并基于 ZSet 实现 TopN 点赞排行;
  • 使用 Redis Set 数据结构实现用户关注、共同关注功能(交集);
  • 使用 Redis BitMap 实现用户连续签到统计功能。

项目架构

iShot_2023-08-28_13.13.34.png

使用说明

参见API说明文档.md

未来改进方向

  1. 配置 SpringCloud 网关,路由等功能

  2. 将单个模块细分成不同的模块,如:用户模块、订单模块、秒杀模块等

  3. 搭建 Redis 集群, Mysql 集群等

RPC项目地址

https://gitee.com/CatKai/Rpc

空文件

简介

MT点评项目 一个仿大众点评项目,主要功能模块如下:用户短信登录;优惠券秒杀;发布博客及点赞;好友关注;用户签到等。 主要涉及的技术栈:Sping,SpringMVC,MyBatisPlus,SpringBoot,Mysql,Redis,RabbitMQ,Lua 展开 收起
Java 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/CatKai/MT-dianping.git
git@gitee.com:CatKai/MT-dianping.git
CatKai
MT-dianping
MT-dianping
master

搜索帮助