分布式的策略及分析

分布式策略设计:
  1. 心跳检测机制:

    1. 为什么要进行心跳检测

      为了保证我们的可靠性、高可用性

    2. 如何进行心跳检测

      server给各个节点发送心跳检测包,节点收到检测包之后给对应的server返回信息,通知自己还活着。

    3. 如果应对异常的机制

      1. 周期检测心跳机制:

        Server断每隔t秒向Node集群发送监测请求,设定超时时间,如果超过超时时间,则判断为“死亡”或者濒临死亡。

      2. 累计失效检测机制

        在周期检测心跳机制的基础上,统计一定周期内节点的返回情况(包括超时及正确返回),以此计算节点的“死亡”概率。另外,对于宣告“濒临死亡”的节点可以发起有限次数的重试,以作进一步判断。

  2. 高可用是系统架构设计必须考虑的因素之一。

    在这里插入图片描述

    高可用常用设计模式包括三种:主备,互备和集群

    exp:mysql

    1. 主从复制,首先将对数据的操作写入到bin-log日志中,从节点开了一个IO线程,一旦有写入,bin-log就会对IO线程进行读取。把数据写到slave的relay-log(终极日志)中,此时,从节点会在开启一个线程SQL~Thread,以事键的方式把relay-log读取到对应的数据库中。

      在这里插入图片描述

    2. 互备模式:(处理大量读写的场景,用到的很少)

      根据算法取模存储到不能mysql,然后根据业务进行合并。

    在这里插入图片描述

    1. 集群模式

      多节点在运行,同时可以通过主控节点分担服务请求,如用Zookeeper

  3. 容错性设计:

    缓存穿透:可以根据不合法key设置null值,不让其查询数据库,而是查询缓存。

  4. 负载均衡

    算法:

    1. 轮询:即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器。
    2. 最少连接:当前谁连接最少,分发给谁
    3. IP地址哈希:确定相同的IP请求可以转发给同一个后端节点处理,以方便session保持。
    4. 基于权重的负载均衡:配置Nginx把请求更多的分配到高配置的后端服务器上,把相对较少的请求分发到低配服务器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值