Coder Social home page Coder Social logo

daydreamdev / seconds-kill Goto Github PK

View Code? Open in Web Editor NEW
424.0 10.0 130.0 168 KB

基于 Springboot + Redis + Kafka 的秒杀系统,乐观锁 + 缓存 + 限流 + 异步,TPS 从 500 优化到 3000

Home Page: https://gongfukangee.github.io/2019/06/09/SecondsKill

License: MIT License

Java 97.61% Lua 2.39%
springboot mybatis mysql druid redis kafka nginx lombok maven postman

seconds-kill's People

Contributors

gongfukangee avatar wangfei910 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

seconds-kill's Issues

包名有问题啊

大小写的问题
com.daydreamdev.secondskill.common.Limit
com.daydreamdev.secondskill.common.StockWithRedis

并发问题

请教一下,您写的(限流 + Redis 缓存库存 + KafkaTest 异步下单)这个接口在kafka发送消息到topic时,高并发的情况下会在redis中重复读到同一个版本号,到了消费者那里拿到版本号对应着数据库的进行更新会抛乐观锁的并发异常导致内容无法被消费,请问怎么解决

缓存一致性,先更新数据库在更新缓存

A线程更新完数据库,然后时间片给线程B了,这时B线程刚开始请求(拿到的是最新的版本号),更新完数据库和缓存,这时A再去更新缓存。这时不会发生不一致吗。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.