当前位置: 首页 > news >正文

高并发幂等计数器【面试真题】

高并发幂等计数器【面试真题】

  • 前言
  • 版权
  • 推荐
  • 高并发幂等计数器
    • 题目
    • 初想
  • 最后

前言

2023-8-30 12:07:45

公开发布于
2024-5-22 00:09:47

以下内容源自《【面试真题】》
仅供学习交流使用

版权

禁止其他平台发布时删除以下此话
本文首次发布于CSDN平台
作者是CSDN@日星月云
博客主页是https://blog.csdn.net/qq_51625007
禁止其他平台发布时删除以上此话

推荐

深入理解幂等性

https://zhuanlan.zhihu.com/p/432631103

https://blog.csdn.net/qq_44866828/article/details/132579831

高并发幂等计数器

题目

问题描述:
1.实现一个计数器服务
2.服务接收外部的 inc 请求,每个请求具有全局唯一 request id 和视频 id
3.因为网络和重试的原因,请求可能会重复的到达
4.时序上,多个重复的请求可能并发达到,两次重复请求之间的间隔不可预期
5.需要保证 at least once ,计数值不能丢失
6.可以依赖一些外部组件, mysql redis

初想

redis实现键是视频id 值set存储request id(UUID)
键是视频id 值是计数器可以使用redis事务,lua脚本
先查set存不存在request id,不存在计数器就自增;存在,不改变mysql实现数据表存储视频,和点赞数
mysql事务开启一个事务。检查MySQL表中是否存在对应视频ID的记录,如果存在则取出计数值。如果计数值为空,则插入一条新记录,并将计数值设置为1。如果计数值不为空,则更新该记录的计数值加1。提交事务。使用事务和唯一索引来保证计数值的一致性和幂等性。redis+mysql实现
redis做缓存,mysql做存储
一致性用延迟双删实现异步处理
redis分布式锁来保证操作的执行
mysql存储计数值
RocketMQ保证他们之间的数据一致

最后

我们都有光明的未来

祝大家考研上岸
祝大家工作顺利
祝大家得偿所愿
祝大家如愿以偿
点赞收藏关注哦

http://www.lryc.cn/news/355895.html

相关文章:

  • 设计软件有哪些?建模和造型工具篇(3),渲染100邀请码1a12
  • 无人机+EasyDSS互联网视频平台:构建秸秆焚烧监控的“天眼”系统
  • 【UE5.1 角色练习】06-角色发射火球-part2
  • 多系统集成的项目周期为何普遍较长?
  • 【LaTex】11 ACM参考文献顺序引用 - 解决 ACM-Reference-Format 顺序不符合论文实际引用顺序的问题
  • selenium 学习笔记(一)
  • Nginx-04-Docker Nginx
  • Rust一维Vec垂直方向拼接、水平方向拼接,多个二维Vec垂直方向拼接
  • 低代码与人工智能:改变软件开发的未来
  • 第三方软件检测机构要具备哪些资质要求?专业测试报告如何申请?
  • 快团团帮卖团长怎么对供货大团长进行评分?
  • 双向带头链表实现
  • 黑马python-面向对象程序设计
  • pod容器基础概念
  • AI日报:百度发布文心大模型学习机;Open-Sora 1.1可生成21秒视频;Canva可以自动剪辑视频了;超牛ComfyUI节点AnyNode来了
  • VUE3+TS+elementplus+Django+MySQL实现从数据库读取数据,显示在前端界面上
  • 用c++做贪吃蛇
  • 【UE5.1 角色练习】08-传送技能
  • 力扣283题:移动零(快慢指针)
  • Java面试精粹:高级问题与解答集锦(一)
  • Yourpassword does not satisfy the current policyrequirements
  • 解决vue3 vite打包报Root file specified for compilation问题
  • Java Swing + MySQL图书借阅管理系统
  • ssm招聘信息管理系统-计算机毕业设计源码78049
  • eBPF可观测之网络流量控制和管理traffic control浅尝
  • Java技术精粹:高级面试问题与解答指南(二)
  • 地下停车场FM信号覆盖系统技术原理用与应用
  • idea 出现 cpu占用100%
  • 如何学到数据库从入门到入土(MySQL篇)
  • 安卓手机APP开发__Wi-Fi扫描概述