Golang|Kafka在秒杀场景中的应用

  • 我们的程序在面对 kill -9 这样的指令的时候会直接退出,不能保证数据持久化到mysql完后再退出
  • 而且我们现在的并发量仍然不够,只能加机器,多机器并发写mysql可能导致mysql扛不住,mysql写的并发量不能根据我们机器的数量的增长而增长
  • 考虑使用消息队列mq,当抽中奖品后把订单消息写入kafka中去,然后又其他服务器起kafka消费者去读取订单信息写入kafka


  • 对应的,需要修改我们的抽奖函数




  • 数据在kafka里面是不会丢的,下次启动可以继续写入
相关推荐
张一凡9310 分钟前
给 Coding Agent 加一道"架构闸门":Jin 是如何做到"先审架构、再写代码、不漂移"的
前端·后端·agent
Jvav练习生19 分钟前
AI Agent 总在关键时刻“失忆”翻车?一文讲透上下文工程(附可运行 Python 代码)
后端
leo在掘金26 分钟前
只挂了11小时,5000台开发机被塞进SSH公钥
后端·架构
xjz184231 分钟前
Rust 运算符优先级:括号不只用来改变顺序
后端
写码跑山的老艾31 分钟前
为什么有了 MySQL,还要 Redis 和 Elasticsearch?从一件商品看数据系统的权衡
后端
对象存储与RustFS37 分钟前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
王中阳Go38 分钟前
100 件货卖出 116 件,库存停在 -16
后端·mysql·go
泡海椒39 分钟前
jquick-pdf 多重折线(JMultiLineChartData)实战:Java 生成工单 SLA 月报
后端
Swot41 分钟前
SvelteKit Remote Functions 使用指南
前端·后端