一致性hash之对象与缓存的映射

背景当有多台缓存机器,当把对象存储到这些缓存机器上时,必须考虑映射算法,以便保证当缓存服务器的数量有增减的时候,尽量保证请求的数据能够在缓存中找到。映射算法 一假设有一个对象objA需要存储到两台缓存服务器中,那么我们可以为objA分配一个key,例如叫objA-key,然后使用下面算法hash(objA-key)%cacheServerCount这里的cacheServerCount是指缓存服务器...
阅读(503) 评论(0)

处理系统中一个并发引起的bug

背景之前系统在更新某条业务数据的状态时,并没有判断该数据的原来的状态,直接更新成了最新状态。这样如果有多线程来访问代码,会出现由于并发导致出现脏数据。 简单举例订单数据: id name status 1 测试 1 业务场景:当某个业务请求过来后,我们会把订单数据的status更新成60,表示订单完成,然后进行后续业务动作,产生一些正常的业务数据。 错误的代码片段Order o...
阅读(485) 评论(0)

只用一台memcache服务器可以吗

现在的互联网项目,一般都会使用缓存,其中memcache是使用比较广泛的一个。实际应用中,一般很少只使用一台memcache服务器,下面我说说自己的一些理解。部分容灾假设只用一台memcache,如果这台memcache服务器挂掉了,那么请求将不断的冲击数据库,这样有可能搞死数据库,从而引发”雪崩”。如果使用多台memcache服务器,由于memcache使用一致性哈希算法,万一其中一台挂掉了,部分...
阅读(1008) 评论(0)
    个人资料
    • 访问:381295次
    • 积分:3959
    • 等级:
    • 排名:第8806名
    • 原创:119篇
    • 转载:5篇
    • 译文:0篇
    • 评论:183条
    博客专栏