- 博客(8)
- 资源 (12)
- 收藏
- 关注
原创 生产环境超时库存回收优化
业务场景: 用户将商品放入购物车后(会将该商品库存减掉,给用户),如果超时20分钟未进行操作则应该进行库存恢复,即将用户购物车中的商品移到超时队列当中,并恢复相应超时商品的库存。这样做是为了防止有用户故意将商品放入购物车,又迟迟不进行购买等操作。 我们这边有两种形式进行库存恢复处理,一种是当用户查询购物车时如果当前用户购物车超过20分钟,这时认为已超时,将用户购物车对应商品移到超时队列
2015-05-31 22:09:12 1033
转载 数据库读写分离
原文:http://wenku.baidu.com/view/30eacbb9172ded630b1cb685.html?re=view大致分客户端业务层做读写分离,与中间件做读写分离。客户端做读写分离缺点是对业务代码侵入大,优点是能够根据更细粒度选择哪些方法需要从读库或主库取。中间件做读写分离,优点自然是对业务侵入较小,但有个问题是万一主库与从库间同步存在延迟,一个事务先写然
2015-05-28 13:46:17 1086
原创 缓存设计
缓存设计上主要目标:高可用,高性能,易用性,各业务模块缓存使用的隔离性主要分为服务端设计与客户端使用服务端设计架构:负载均衡+twemproxy+redis集群是一种解决方案由代理层twemproxy进行分片客户端设计,保证易用性:标准Spring Data RedisSpring Data Redis是对Jedis的一个封装,提供@
2015-05-19 11:19:59 2815
原创 dubbo使用记录
传统服务发布与调用,如webservice,http等方式,很难做到动态不重启的情况下加机器。dubbo可以做到这一点。 dubbo的核心:服务发布,服务消费,服务注册。 dubbo的目标是使服务发布方与服务费方发布或使用服务的时候就像使用本地服务一样,透明化。高可用等也是设计目标。 invoker是dubbo中的领域,其实就是一个代理,是一个服务的抽象,调用方调用服务及
2015-05-18 22:35:40 1617
原创 生产环境ehcache迁移到集中式redis集群
原先项目中使用的ehcache分布式缓存,缺点是浪费内存,并且ehcache使用的是jvm进程的内存,因此内存使用很受限制。还有就是业务中有时希望更新一个业务实体来使对应的缓存失效的场景,这种情况下如果对应业务实体缓存有多台机子那更新实体后更新缓存只能是其中一台,无法全部更新。 基于以上几点,项目希望切换成集中式缓存。 集中式缓存服务端架构是:网易LBS+Twemproxy+redi
2015-05-18 21:21:22 3015 1
原创 现实库存处理记录
现今我们系统库存以sku为单位,每个sku都有对应库存。 库存信息我们会记录在一个数据库表中,为了性能每次上线我们会将这个数据库表中的库存放入内存中。 需要保证多个用户同时操作内存库存时的线程安全性,这边我们是通过调用tair的incr和desc命令保证库存增减是串形的。 但是有一种可能: 内存库存为1件,2个用户同时购买,第一个用户减完后库存为0,第二个用户为-1。
2015-05-16 11:22:45 1463
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人