绝对不要信任单点故障

来源:设计经验分享网
添加时间:2024年02月
摘要:绝对不要实现且一定要减少单点数障。在架构图上我出单点实例。尽量采用主动/主动配置。通过多个实景大化可用性。尽量采用主动/主动配置,不要用主动被动解决方案。利用均衡器均衡跨服务实例的流量。对于单例模式,使用主动/被动配置的控制。 绝对不要实现且一定要减少单点数障。在架构图上我出单点实例。尽量采用主动/主动配置。通过多个实景大化可用性。尽量采用主动/主动配置,不要用主动被动解决方案。利用均衡器均衡跨服务实例的流量。对于单例模式,使用主动/被动配置的控制。

在数学中,单元素集合是只有一个元素的集合,如{A}。在程序设计中,单例模式指的是一种设计模式,它模仿了数学概念,限制了一个类只能实例化一个对象。这种设计模式对协调资源非常有用,但程序员常为了省事而过度使用它,这个话题我们之后再讨论。在系统架构中,单例模式,或者更恰当地说是单例反模式,被称为单点故障(SPOF)也就是说,当系统中的某个组件只有一个实例时,一旦该实例出故障,就会造成系统范围的影响。



SPOF在系统中随处可见,从单个的Web服务器到单个的网络设备,但系统中最常见的SPOF是数据库。其原因在于数据库是最难扩展到多个节点上的,因此它只有一个实例。在图9-1中,即使登录、搜索和结账服务器都有冗余,数据库仍是SPOF。更精的是,所有服务池都依赖于这一个数据库。虽然任何SPOF都不好,但数据库SPOF的问题更大,如果数据库速度下降或者期读了,那么对数据库进行同步调用的所有服务池都将受到这一事件影响。

我们常说给客户的一句口头禅是“一切都会出故障”。这句话适用于服务器、存储系统、网络设备和数据中心。只要你知道的,都会出故障。

虽然很多人认为数据中心是不会出故障的,但多年来,我们自己经历了十几次数据中心运行中断。高可用的存储区域网络也是如此,虽然它们比旧的SCSI硬盘阵列可靠得多,但仍旧会出故障。

大多数解决SPOF的方法是申请另一台硬件,如X轴扩展所示的通过克隆服务,让每种服务都有两个或更多个实例在运行。遗憾的是,事实并非总是如此简单。让我们回头再看看编写单例模式的步骤。虽然不是所有的单例类都不允许在多台服务器上运行一个服务,但有些实现绝对会让你免于遭受可怕的后果。较简单的情况是,如果代码中有一个类,用于从用户账户中减去基金,用单例模式实现它就会让用户的余额免于不测,如成为负数。如果把这段代码放在两台独立的服务器上,没有额外的控制措施或联络信号,则很可能会造成两个事务同时在用户账户中记人借额,从而导致错误或不想发生的状况。对于这种情况,我们需要修复代码,或者依赖外部控制来预防。但最令人满满意的解决方案是修复代码,在多个主机上实现服务,通常我们需要快速修复SPOF。作为本原则的最后一个要点,我们接下来将讨论几个快速修复方法。

第一个方法最简单,是使用主动/被动配置。一个服务在一台服务器上主动运行,在另外一台服务器上被动运行(不接收流量)。这种热/冷配置,常被用作删除数据库SPOF的第一步。接下来的方法是用系统中的另一个组件控制数据访问。如果SPOF是服务,那么用数据库锁可以控制数据的访问。如果SPOF是数据库,那么可以设置主一从配置,由应用控制数据访问,写更新操作由主数据库完成,读选择操作由从数据库完成。最后一个用于修复SPOF的配置是负载均衡器。如果Web服务器或应用服务器的一个服务是SPOF,且在代码中不能消除,那么可以利用负载均衡器把一个用户的请求只发送给池中的一台服务器。这是通过会话cookie实现的,即设置用户的浏览器,且允许负载均衡器每次都把该用户的请求重定向到同一个Web或应用服务器,从而形成一种一致状态。

我们介绍了几种消除SPOF的方法,在不能及时修改代码的情况下可以轻松地实现它们。但是最后的方法最好,即修复代码,允许网站设计服务的多个实例在不同的物理服务器上运行,从而尽可能消除SPOF。记住,“一切都会出故障”,所以当SPOF出故障时,请不要吃惊。

 

平面设计相关资讯推荐阅读:


分享十个国内外优秀的免费CDN加速服务怎样基本建设一个简易的网页建站基础步骤要了解如何减少网页建设周期建设企业网页基本要素有哪些个人网页的制作要注意哪些问题从28个省份恢复客运看出市场回升企业网页建设的必要性网页建设有哪些相关的基础知识百度反向链接考核的标准网页内链提升专业知识网页怎么做,具体步骤都有哪些真正有效的网络营销网页有哪几种布局设计易捷网络告诉你网页建设中什么最重要企业网页建设不是一件简单的事情对于网页设计方法有什么要把握网页建设需要注重设计还是实用收录内容少或不收录的主要原因是什么网页建设有哪些小常识企业形象网页制作的过程搜索引擎已让用户止于搜索,内容站已选不死亡。怎样提升商城网页方式有什么网页制作的流程是什么深圳网页制作深圳网页建设之如何看待网页吸引力网页内页设计需要提供什么资料科技讲解如何提高网页文章的收录量网页从业人员最不能犯的五大错误关于门户网页的解决方案建立公司网页需要多长时间 品牌网页设计制作哪家不错网页建设所需材料及具体流程步骤解析!新手做网页开发具体的步骤是怎样的制作一个用户友好的网页商城网页在为企业打开市场的同时需要注意哪些问题为什么打不开网页的几种原因SEO文章写作技巧如何基本建设自身网页的主页网页的基本标签网络营销之网络推广技巧做深圳网页建设如何做好自我介绍一个好的成功的网页设计需要具备什么浅谈移动网页设计的心得技巧解析关于莆田医疗的巨额网络营销模式的乱象如何开展网页设计方案才可以考虑客户规定极简风格在设计中的运用顺丰海淘sfht.com正式上线全套拼音域名已受保护全网营销网页涵盖了网页搜索、图片搜索等内容怎样可以做出令自身令人满意的网页涨知识!网页导航设计如何玩出创意网页建设成本价格与哪些原因有关系网页设计的页脚风格如何提升网页建设的价值品牌知名度对网页建设的影响网页建设不仅仅只是个性化设计做网页到哪去现阶段普遍的方法详细介绍响应式网页设计应该考虑哪些因素网页建设的前期准备工作网页建设不是你想的那么简单网页优化有哪些要素是需要注意的深圳南山网页建设公司哪家设计做得好网页优化工作人员必须维持的好多个心理状态
网站备案号:豫ICP备2024041165号