# eshop **Repository Path**: faymanwang/eshop ## Basic Information - **Project Name**: eshop - **Description**: 电商项目中的情节拆分 1.缓存和数据库双写一致解决。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2017-10-17 - **Last Updated**: 2022-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Welcome to the Gitee wiki! 欢迎使用维基Gitee ! ![输入图片说明](https://images.gitee.com/uploads/images/2019/0403/214040_cff4baf5_1553874.png "QQ图片20190403214146.png") ![输入图片说明](https://images.gitee.com/uploads/images/2019/0403/214242_b7f99735_1553874.png "2.png") 1)如果一个内存队列里居然会挤压100个商品的库存修改操作,每隔库存修改操作要耗费10ms区完成,那么最后一个商品的读请求,可能等待10 * 100 = 1000ms = 1s后,才能得到数据这个时候就导致读请求的长时阻塞 一定要做根据实际业务系统的运行情况,去进行一些压力测试,和模拟线上环境,去看看最繁忙的时候,内存队列可能会挤压多少更新操作,可能会导致最后一个更新操作对应的读请求,会hang多少时间,如果读请求在200ms返回,如果你计算过后,哪怕是最繁忙的时候,积压10个更新操作,最多等待200ms,那还可以的 其实根据之前的项目经验,一般来说数据的写频率是很低的,因此实际上正常来说,在队列中积压的更新操作应该是很少的。 针对读高并发,读缓存架构的项目,一般写请求相对读来说,是非常非常少的,每秒的QPS能到几百就不错了 一秒,500的写操作,5份,每200ms,就100个写操作 单机器,20个内存队列,每个内存队列,可能就积压5个写操作,每个写操作性能测试后,一般在20ms左右就完成