redis实现轮询算法_白话分布式系统中的一致性哈希算法

本文首发于:白话分布式系统中的一致性哈希算法

微信公众号:后端技术指南针

持续输出干货 欢迎关注!

通过本文将了解到以下内容:分布式系统的概念和作用

分布式系统常用负责均衡策略

普通哈希取模策略优缺点

一致性哈希算法的定义和思想

一致性哈希的基本过程

Redis集群中一致性哈希的实现

1.分布式系统的基本概念分布式系统与高并发高可用

当今高并发和海量数据处理等场景越来越多,实现服务应用的高可用、易扩展、短延时等成为必然。在此情况下分布式系统应运而生,互联网的场景无外乎存储和计算,因此分布式系统可以简单地分为:分布式存储

分布式计算

所谓分布式系统就是一批计算机组合起来共同对外提供服务,对于用户来说具体有多少规模的计算机完成了这次请求,完全是无感知的。分布式系统中的计算机越多,意味着计算和存储资源等也就越多,能够处理的并发访问量也就越大,响应速度也越快。如图为简单整体架构图:大前端 主要实现了服务应用对应的所有流量的接入,比如http://aaa.com域名下可能有N个子服务,这一层涉及很多网络流量的处理,也很有挑战,像百度的BFE(百度统一前端)接入了百度的大部分流量,每日转发1万亿次,峰值QPS1000w。

中间层 完成了各个服务的调度和分发,粒度相比大前端接入层更细致一些,这一层实现了用户的无感知体验,可以简单理解为反向代理层。

业务层 完成了数据存储、数据计算、数据缓存等,各个业务环节高度解耦,并且基于集群化来实现。集群和分布式的区别与联系

集群是从原来的单机演变来的,单台机器扛不住就加机器,直到服务负载、稳定性、延时等指标都满足,集群中的N台机器上部署一样的程序,就像一台机器被复制多份一样,这种形式就是集群化。

分布式是将一个完整的系统,按照业务功能拆分成一个个独立的子系统,这些服务之间使用更高效的通信协议比如RPC来完成调度,各个子服务就像在一台机器上一样,实现了业务解耦,同时提高了并发能力确实不赖。一个大的分布式系统可以理解拆分之后的子服务使用集群化,一个个子服务之间使用类似于RPC的协议串联,组成一个庞大的存储和计算网络。如图为简单的分布式系统结构:

注:图片来自网络 详见参考1

2.分布式系统的分发常用负载均衡策略

以分布式系统中的存储和缓存为例,如果存储集群中有5台机器,如果这时有请求,就需要考虑从哪台机器获取数据,一般有几种方法:随机访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值