1 Star 2 Fork 0

CatKai/MT-dianping

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
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

Empty file

About

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

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/CatKai/MT-dianping.git
git@gitee.com:CatKai/MT-dianping.git
CatKai
MT-dianping
MT-dianping
master

Search

344bd9b3 5694891 D2dac590 5694891