一、高可用的网站架构
网站的高可用架构设计的主要目的,就是保证服务器硬件故障时服务依然可用、数据依然保存并能够被访问。主要手段是数据和服务的冗余备份及失效转移。
一个网站典型的分层模型是三层,即应用层、服务层、数据层。
位于应用层的服务器通常为了应对高并发的访问请求,会通过负载均衡设备将一组服务器组成一个集群共同对外提供服务,当负载均衡设备通过心跳检测等手段监控到某台应用服务器不可用时,就将其从集群中删除,并将请求分发到集群中其他可用的服务器上,使整个集群高可用。
位于服务层的服务器,也是通过集群方式实现高可用,只是这些服务器被应用层通过分布式服务调用框架(如阿里的dubbo)访问,分布式服务调用框架会在应用层客户端程序中实现软件负载均衡,并通过服务注册中心对提供服务的服务器进行心跳检测,发现有服务不可用,立即通知客户端程序修改服务访问列表,剔除不可用的服务器。
位于数据层的服务器,需要在数据定稿时进行数据同步复制,将数据写入多台服务器上,实现数据冗余备份。当数据服务器宕机时,应用程序将访问切换到有备份数据的服务器上。
二、高可用的应用
1、通过负载均衡进行无状态服务的失效转移:通过负载均衡手段,将流量和数据分摊到一个集群组成的多台服务器上,以提高整体的负载处理能力。
2、应用服务器集群的Session管理:
Session复制:集群中的几台服务器之间同步Session对象,使每台服务器都保存所有用户的Session信息。缺点:占用大量的服务器和网络资源。
Session绑定:通过Hash算法,将来源于同一IP的请求分发到同一台服务器上。
利用Cookie记录Session:将Session记录在客户端,每次请求服务器的时候,将Session放在请求中发送给服务器,服务器处理完请求后再将修改过的Session响应给客户端。缺点:受Cookie大小的限制。
Session服务器:利用独立部署的Session服务器(集群)统一管理Session,应用服务器每次读写Session时,都访问Session服务器。缺点:实现难度较大。
三、高可用的服务
可复用的服务模块为业务产品提供基础公共服务,这些服务通常都独立部署,被具体应用远程调用,可以使用类似负载均衡的失效转移策略实现高可用的服务。
1、分级管理:运维上将服务器进行分级管理,核心应用和服务优先使用更好的硬件,在运维响应速度上也格外迅速。
2、超时设置:设置服务调用的超时时间,一旦超时,通信框架就抛出异常,应用程序根据服务调试策略,可选择继续重试或将请求转移到提供相同服务的其它服务器上。
3、异步调用:通过消息队列等异步方式完成,避免一个服务失败导致整个应用请求失败的情况。
4、服务降级:为了保证核心应用和功能的正常运行,需要对服务进行降级。降级有两种手段:拒绝服务和关闭服务。
5、幂等性设计:必须在服务层保证服务重复调用和调用一次产生的结果相同。
四、高可用的数据
保证数据存储高可用的手段,主要是数据备份和失效转移机制。
1、数据备份:关系数据库热备机制,就是通常所说的Master-Slave同步机制,它不但解决了数据备份问题,还改善了数据库系统的性能,可以实现数据库的读写分离。
2、失效转移:失效转移由三部分组成:失效确认、访问转移、数据恢复。
失效确认:通过心跳检测和应用程序访问失败报告。
访问转移:需要将数据读写访问重新路由到其他服务器上。
数据恢复:需要从健康的服务器复制数据到宕机的服务器上。
五、高可用网站的软件质量保证
1、网站发布
2、自动化测试
3、预发布验证
4、代码控制
5、自动化发布
6、灰度发布
六、网站运行监控
1、监控数据采集:用户行为日志收集、服务器性能监控、运行数据报告
2、监控管理:系统报警、失效转移、自动优雅降级
相关推荐
可扩展、高可用、负载均衡网站架构设计方案 本文将详细介绍一个可扩展、高可用、负载均衡网站架构设计方案,该方案旨在解决高访问量网站的性能和可靠性问题。该方案包括以下几个方面: 一、基本需求 1. 高可用性...
### 如何实现高可用的网站架构 在当前的互联网时代,网站已经成为企业和用户之间沟通的重要桥梁。一个稳定、可靠的网站不仅能够提升用户体验,还能为企业带来更多的商业机会。因此,提高网站的可用性变得尤为重要。...
### 漫谈MySQL高可用架构 #### 一、引言 随着互联网技术的发展与企业规模的扩大,数据服务的连续性和稳定性变得至关重要。在众多数据库管理系统中,MySQL因其开源性、灵活性以及强大的社区支持而备受青睐。然而,...
《高可用网站架构设计与实现》是一份深入探讨如何构建稳定、可靠且高效网站架构的综合资料。这份压缩包包含了详细的设计文档、开题报告以及相关的PPT演示文稿,旨在为IT专业人士提供一个全面的学习资源,同时也适用...
这两本书——《大型网站技术架构:核心原理与案例分析》和《亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统》提供了宝贵的指导,帮助我们构建稳定、高效且可扩展的系统。 首先,我们要讨论的是高并发处理...
### 如何设计高可用微服务架构 在当今快速发展的信息技术领域中,微服务架构作为一种能够提高软件系统的可扩展性、可维护性和灵活性的设计方法,正逐渐成为构建复杂应用的首选方案。本文旨在深入探讨如何设计高可用...
亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统.pdf(带书签)
总结,大型网站的分布式架构通过合理的设计和实施,可以有效应对高并发挑战,确保系统的高可用性,并具备良好的扩展性。这些技术涵盖了从基础架构到应用层面的多个方面,包括但不限于服务的模块化、负载均衡、缓存...
在构建一个能够处理亿级流量的网站架构时,核心技术和策略是至关重要的。这涉及到多个层面,包括...《亿级流量网站架构核心技术 搭建高可用高并发.pdf》这本书可能会提供更深入的指导和案例分析,值得深入阅读和研究。
亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统 PDF 亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统 PDF
5 万无一失:网站的高可用架构 6 永无止境:网站的伸缩性架构 7 随需应变:网站的可扩展架构 8 固若金汤:网站的安全架构 第3篇 案例 9 淘宝网的架构演化案例分析 10 维基百科的高性能架构设计分析 11 海量...
网站的高可用架构6.网站伸缩性架构7.网站的可扩展架构8.网站的安全架构9. 淘宝网的架构演化案例分析10. 维基百科的高性能架构设计分析11.海量分布式存储系统Doris高可用架构设计分析12.网购秒杀系统架构设计案例...
《亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统》是一本深入探讨如何构建能够处理海量用户访问、确保系统稳定性和高效性的技术书籍。在互联网行业中,面对亿级用户的流量挑战,一个良好的网站架构设计是...
在分析给定文件内容的基础上,以下是对"高并发高可用的分布式电商平台架构研究"这一主题的知识点的详细阐述。 分布式电商平台架构是为了应对传统软件架构在面对大规模并发请求时,性能下降、可拓展性不足等问题而...
《亿级流量网站架构核心技术》一书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、...
亿级流量网站架构核心技术+跟开涛学搭建高可用高并发系统
《亿级流量网站架构核心技术+跟开涛学搭建高可用高并发系统》是一本深入探讨大规模网站架构设计的书籍,其核心目标是帮助读者理解如何应对海量用户访问带来的挑战,构建能够承受高并发、保证高可用性的系统。...
亿级流量网站架构核心技术--跟开涛学搭建高可用高并发系统 ,有目录,无水印