秒杀架构
最有效的办法:乐观锁更新+分布式限流+redis缓存+kafaka异步
乐观锁:首先假设数据冲突很少,只有在数据提交修改的时候才进行校验,如果冲突了则不会进行更新。通常的实现方式增加一个version字段,为每一条数据加上版本。每次更新的时候version+1,并且更新时候带上版本号
总结:
- 尽量将请求拦截在上游。
- 还可以根据 UID 进行限流。
- 最大程度的减少请求落到 DB。
- 多利用缓存。
- 同步操作异步化。
- fail fast,尽早失败,保护应用。
最有效的办法:乐观锁更新+分布式限流+redis缓存+kafaka异步
乐观锁:首先假设数据冲突很少,只有在数据提交修改的时候才进行校验,如果冲突了则不会进行更新。通常的实现方式增加一个version字段,为每一条数据加上版本。每次更新的时候version+1,并且更新时候带上版本号
总结:
道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。