分布式设计常见问题及解决方案

common issue:


一致性hash与余数hash:为什么一致性hash比余数hash 当服务器变动时,命中率更大,对老数据影响更小

余数hash就是“根据服务器台数的余数进行分散”,只计算键的整数哈希值,再除以服务器台数,根据其余数来选择服务器

一致性hash:处理服务器的选择不再仅仅只计算key的hash,而将key的hash和服务器节点hash同时映射到hash环上,这样所有的用户从自己圆环上的位置顺时针往下取到第一个vnode就是自己所属节点当服务器节点发生变化时,只有在hash环上增加服务节点的位置为逆时针方向的第一个服务节点上的键会受到影响

参考资料:

http://dmouse.iteye.com/blog/818984

http://blog.csdn.net/destina/article/details/8241354


分布式系统间的通讯,复杂性,延迟性。

调试/跟踪 困难。

对每个系统的日志,监控及检测。


分布式数据库(主从)数据库同步问题----solution:使用合适的数据库中间件结合日志监控


缓存数据与数据库更新的 相互通知 ---solution: 事件驱动。


interview 1:

memcached的使用


session共享

业务操作时(将一个变化很频繁的数据写入到数据,规定几小时的数据不能丢失),则要考虑,写数据时,可能遇到的网络峰值/硬盘读写峰值。

solution:detect模式:先发消息,考察网络环境,看response的数据,时间是否符合要求。类似ping-pong,但由此可带来潮起问题----大量的负载到某一个节点,而其他空闲节点不能得到均衡。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值