1. 系统失败是很平常的事情:每年有1-5%的硬盘会报废,服务器每年会平均宕机两次,报废几率在2-4%几率。
2. 将一个大而复杂系统切分为多个服务:而且服务之间依赖尽可能的少,这样有助于测试,部署和小团队独立开发。例子:一个google的搜索会依赖100多个服务。ike:需要一套机制来确保服务的fault-tolerant,不能让一个服务的成败影响全局。
3. 需要有Protocol Description Language:比如protocol buffers。ike:这样能降低通信方面的代码量。
4. 有能力在开发之前,根据系统的设计来预测性能:在最下面有一些重要的数字。
5. 在设计系统方面,不要想做的很全面,而是需要抓住重点。
6. 为了增量做设计,但不为无限做设计:比如:要为5-50倍的增量做设计,但超过1000倍了,就需要重写和重新设计了。
7. 使用备份请求来降低延迟:比如一个处理需要涉及1000台机器,通过备份请求这个机制来避免这个处理被一台慢机器延误。ike:这个机制非常适合MapReduce。
8. 使用范围来分布数据,而不是Hash:因为这样在语义上比较简单,并且容易控制。ike:在大多数情况下语义比性能更重要,不要为了20%的情况hardcode。
9. 灵活的系统,根据需求来伸缩:并且当需求上来的时候,关闭部分特性,比如:关闭拼写检查。
10. 一个接口,多个实现。
11. 加入足够的观察和调式钩子(hook)。
12. 1000台服务器只需单一Master:通过Master节点来统一指挥全部的行动,但客户端和Master节点的交互很少,以免Master节点Crash,优点是,在语义上面非常清晰,但伸缩性不是非常强,一般最多只能支持上千个节点。
13. 在一台机器上运行多个单位的服务:当一台机器宕机时,能缩短相应的恢复时间,并且支持细粒度的负载均衡,比如在BigTable中,一个Tablet服务器会运行多个Tablet。
分享到:
相关推荐
Design Patterns for Container-based Distributed Systems 基于容器的分布式系统设计模式
内容丰富详细,有一定基础的人可以作为进阶书籍,无基础的可以当作知识储备
设计模式,分布式设计模式,Java设计模式,软件设计模式
一种面向分布式系统的程序设计模式 李慧霸
1.1 大型分布式系统的特征 1.2 魔术总线故事 1.3 魔术总线故事给我们的启示 1.4 soa历史 1.5 五页幻灯讲完soa 第2章:soa 2.1 soa定义 2.2 soa驱动因素 2.3 soa概念 2.4 soa要素 2.5 ...
不管是初学者,还是进阶者,都是非常合适的
《大规模分布式系统架构与设计实战》写到,分布式并行计算的基本原理解剖;分布式协调的实现,包括如何实现公共配置管理,如何实现分布式锁,如何实现集群管理等;分布式缓存的实现,包括如何提供完整的分布式缓存来...
1.1 大型分布式系统的特征 1.2 魔术总线故事 1.3 魔术总线故事给我们的启示 1.4 soa历史 1.5 五页幻灯讲完soa 第2章:soa 2.1 soa定义 2.2 soa驱动因素 2.3 soa概念 2.4 soa要素 2.5 ...
《大规模分布式系统架构与设计实战》从作者的实战经验出发,深入浅出地讲解了如何建立一个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统一利用,从而获取强大计算能力去解决复杂问题。一般互联网...
至于作者推荐自己的包工头-工人模式分布式系统,是不是当前最好的业务模式,这可以见仁见智。但是作者这种深入浅出,有条不紊的介绍一个分布式系统的构建过程,肯定是厥功至伟的。我代表从中收益的程序员和系统架构...
这份宝典囊括了Java编程中的基础知识、多线程编程、数据库操作、Spring框架、Spring Boot、Spring Cloud、Linux操作系统、分布式系统、设计模式、面试指导以及自我介绍等内容。 基础部分,包括Java编程语言的核心...
最后重点讲述分布式计算模式语言,该语言陈述了创建分布式系统相关的技术主题。 本书适用于软件架构师和开发人员。">标签目录,页码重排。 本书关注分布式计算系统软件的设计和实现。书中首先介绍理解本书内容所需的...
#资源达人分享计划#
本书关注分布式计算系统软件的设计和实现。书中首先介绍理解本书内容所需的核心的模式概念,...最后重点讲述分布式计算模式语言,该语言陈述了创建分布式系统相关的技术主题。 本书适用于软件架构师和开发人员。
关于弹力设计模式 详解-包括弹力设计,认知故障,隔离设计,通讯设计,等性设计,服务状态,补偿事务等。适用于分布式系统及微服务系统
1.1 大型分布式系统的特征 1.2 魔术总线故事 1.3 魔术总线故事给我们的启示 1.4 soa历史 1.5 五页幻灯讲完soa 第2章:soa 2.1 soa定义 2.2 soa驱动因素 2.3 soa概念 2.4 soa要素 2.5 ...
#资源达人分享计划#
分析了传统SSO产品的原理和不足,提出对应用系统登录过程所需的两类信息进行分离解耦,在利用XML和USB身份...研究了Windows和Web应用的窗体构造与消息传递机制,开发出支持多模式的分布式SSO系统,实际应用效果良好。