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

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


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




  • 数据在kafka里面是不会丢的,下次启动可以继续写入
相关推荐
foggyprojects8 小时前
业务系统有表格,BI 有看板,AI 问数还需要做什么?
后端
生锈的键盘9 小时前
深入理解 Socket 与 epoll:从内核数据结构到用户态回调的全链路解析
后端
Sam_Deep_Thinking9 小时前
从REST到gRPC,一个API选型的思考框架
java·后端·程序员
程序员爱钓鱼9 小时前
Rust const泛型详解:让常量也成为泛型参数
后端·面试·rust
练习时长两年半的RL练习生9 小时前
与AI对话后对 Actor-Critic 中 TD Target 的 a‘ 来源总结
开发语言·人工智能·php
evans在进步9 小时前
Spring Boot 工程化核心详解:Parent、Starter、热部署、事务与多数据源
spring boot·后端·python
十五年专注C++开发9 小时前
100w条数据丝滑滚动!Qt Model/View 架构实战(二)
开发语言·c++·qt
一路向北finish10 小时前
《CentOS 7 搭建 Hadoop 3.3.6 分布式集群:NFS 共享方案完整实操》
linux·运维·hadoop·分布式·centos
萧瑟余晖10 小时前
Java深入解析篇三十九之集成测试
java·开发语言·集成测试
skr爱码士10 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
开发语言·c++·qt