1 设计分布式系统需要考虑的异常 1.1 节点宕机 1.2 网络异常 消息丢失、消息乱序(可以通过增加序列号解决)以及数据错误 1.3 分布式系统三态 在单机,只要不宕机,一个函数执行要么成功、要么失败,但是分布式系统共下存在成功、失败和超时。下面解释一下超时的不确定性 ...
一言以蔽之: 分 按业务分。 按层次分。 按读写分。 按动静分。 按流量分 负载均衡 。 按时间分 异步化 。 分 完以后还要保证系统的整体稳定性,需要的原则: 冗余和灾备。 监控。 预案。 限流。 降级。 ...
2015-04-07 21:12 0 2227 推荐指数:
1 设计分布式系统需要考虑的异常 1.1 节点宕机 1.2 网络异常 消息丢失、消息乱序(可以通过增加序列号解决)以及数据错误 1.3 分布式系统三态 在单机,只要不宕机,一个函数执行要么成功、要么失败,但是分布式系统共下存在成功、失败和超时。下面解释一下超时的不确定性 ...
O’Reilly的电子书《Reactive Microservices Architecture》讲述了微服务/分布式系统的一些设计原则,本文是笔者阅读完此书后的理解。 微服务相比传统的单体应用能够带来快速的响应,以小的系统产生大的影响。而随着网络加速、磁盘成本降低、RAM成本降低、多核 ...
作者:潘罡 (Van Pan) @ Microsoft 在正式介绍Service Fabric之前,我们认为应该首先介绍分布式系统的经典架构。 理解了分布式系统的演进过程可以极大程度上帮助理解Service Fabric以及Azure服务中所有针对分布式系统的优秀产品。 简单系统 ...
我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ拉、微信拉、淘宝拉。那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始,探寻服务器端系统技术的基础概念。 承载量是分布式系统存在的原因 当一个 ...
写在最前: 1.为什么学习并记录分布式设计理念一系列相关的东西 在日常工作中系统设计评审的时候,经常会有一些同事抛出一些概念,高可用性,一致性等等字眼,他们用这些最基本的概念去反驳系统最初的设计,但是很多人理解的可用性,一致性等等问题,都是自己拍脑袋想的,或者根本和最原始表达的意思就不是一个 ...
高性能分布式计算与存储系统设计概要(上篇) 2012年底,末日之后,看到大家都在写年末总结,我也忍不住想一试。工作已经3年半了,头一次写总结。虽然到现在仍是无名小码农一名,但工作这些年,技术着实有不少积累。成长最大的,当然就是这篇文章标题提到的——高性能分布式 ...
高性能分布式计算与存储系统设计概要(下篇) (上篇) 在上篇里,我们主要讨论了,这个系统怎样处理大数据的“读”操作,当然还有一些细节没有讲述。下篇,我们将主要讲述,“写”操作是如何被处理的。我们都知道,如果只有“读”,那几乎是不用做任何数据同步的,也不会有 ...
什么是构建一个可维护和可扩展的系统的意义? 在早期,一个系统的形态,只是满足用户和服务器资源之间的通道,唯一要扩展和维护的是系统后面的资源,保证资源的可用和够用,而系统本身的压力并不大。 系统设计跟我们生活中大多数事情一样,都需要花时间提前规划,能够让我们 ...