美文网首页
分布式弹力设计总结

分布式弹力设计总结

作者: Doit8 | 来源:发表于2018-04-14 00:01 被阅读0次

分布式弹力设计的目的

保证服务的弹力,从两个方面体现,一是出现故障时能够自恢复,另一方面是在无法自愈的情况下,将范围控制在最小。

为了这个目标,弹力设计从以下三个方面考虑。

1 服务冗余,一方面是提升服务的总吞吐能力,另一方面也避免单点问题。

为了实现冗余的服务,主要使用的组件有

负载均衡,nginx haproxy

动态路由,

服务发现,如何发现服务,一般与服务注册一起

健康检查

2 服务解耦

目的,增加吞吐量,出现故障可以隔离在小范围内。它主要的技术有

异步通信,三种异步通信的模型,请求响应,发布订阅,消息中间件。异步通信会涉及到,失败是做业务补偿。

用户分片,多租户

业务分片,这其中有有个自包含的概念,独立的服务不依赖于外部,有自己的数据库和应用。

工作流,通过工作流将整个业务流程串联起来,方便进行业务补偿,业务重试,

3 服务容错

熔断,通过三种状态来控制熔断状态

降级,降低一致性,简化流程,缓存读数据。

限流,计数器算法,队列玩法,漏斗算法,令牌桶算法

重试 当调用超时,或者特殊的业务异常可进行重试,但要注意幂等。

相关文章

  • 分布式弹力设计总结

    分布式弹力设计的目的 保证服务的弹力,从两个方面体现,一是出现故障时能够自恢复,另一方面是在无法自愈的情况下,将范...

  • 弹力设计总结

    容错设计又叫弹力设计,其中着眼于分布式系统的各种“容忍”能力,包括容错能力(服务 隔离、异步调用、请求幂等性)、可...

  • 弹力设计简介

    弹力设计又叫容错设计,其中着眼于分布式系统的各种“容忍”能力,包括容错能力(服务隔离、异步调用、请求幂等性)、可伸...

  • 分布式弹力设计之熔断

    前言 熔断机制的灵感来源于保险丝,我们知道家里的电路中有个保险丝,当用电过载或是短路时,保险丝熔断,切断电路,避免...

  • 分布式弹力设计之降级

    当系统遇到大的流量,为了能让系统健康的运行,我们会采取一些措施,上节课讲到的限流是一种方式,拒绝掉一些流量,今天讲...

  • 弹力设计概述

    1. 概述 容错设计又叫弹力设计,分布式系统的各种容忍能力。容错能力(服务隔离,异步调用,请求幂等性)可伸缩性(有...

  • 分布式弹力设计之服务状态

    今天我们来谈一谈服务的状态,服务的状态指的是请求是否与不同的服务实例相关。分为两种,有状态和无状态。 无状态服务重...

  • 分布式弹力设计之异步通信

    讲到异步通信,不得不先提同步通信,如果把打电话比做同步,那短信就是异步。同步操作有个优点,实时性好,但存在以下问题...

  • 弹力设计-“隔离设计”

    隔离方式 服务的种类 用户 按服务种类分离 存在的问题 一个查询功能需要调用多个服务,降低性能(响应时间) 大数据...

  • 分布式弹力设计之幂等性

    分布式服务之间不可避免要相互通信,通信的结果有三种:成功,失败,超时。而超时状态,有可能是接收方没有接受到数据,另...

网友评论

      本文标题:分布式弹力设计总结

      本文链接:https://www.haomeiwen.com/subject/fplkkftx.html