热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网站架构高可用小结

对于一个网站而言,最重要的事情就是保证网站一直“可用”,也就是能够被访问到,先不管你可以支持多少并发,也不要管后台数据的收集和整理有没有很成熟,首先不论怎样你都必须网站可用。在前面

对于一个网站而言,最重要的事情就是保证网站一直“可用”,也就是能够被访问到,

先不管你可以支持多少并发,也不要管后台数据的收集和整理有没有很成熟,首先不论怎样你都必须网站可用。

在前面我们已经阐述了网站高可用的一些手段,下面会进行一些整体的论述。

 

怎样来阐述一个网站的可用性手段了?

我们应该依据网站的架构,一次从前往后来进行阐述,也就是应用层、服务层和数据层,最后在阐述一些综合性的问题。

 

1.应用高可用

我们知道应用是无状态的,应用层应该只对请求做逻辑处理。

首先我们保证其高可用的手段就是负载均衡,集群中的某一台不能被访问的时候,访问的请求应该能够被转移到其他的服务器上。

还有一个需要注意的是session处理,如果保证用户的Session信息的一致性,之前我们一共介绍了4中手段,

分别是Session复制、Session绑定、写入COOKIE、Session集群。

能做进行应用负载均衡的手段有很多,一般是软件和硬件两个方面的,软件的有Nginx、Haproxy等

而专门做高可用的有keepalive。

 

2.服务高可用

服务层是进行具体的访问的处理,在这里服务器会针对不同的请求做不不同的回应,

保证服务高可用依然最基本的手段是负载均衡,其次还有一些其他的手段,

比如:分级管理、超时设置、异步调用、服务降级和幂等性设计。

 

3.数据高可用

对于许多网站而言,数据是其最宝贵的的财产尤其是在这个大数据的时代,

首先要说明CAP原理:数据可用性、数据一致性、分区耐受性(可访问性)无法得到同时满足。

保证数据高可用的手段主要是:数据备份和失效转移机制。

数据备份有异步热备方式和同步热备方式。失效转移有失效确认、访问转移、数据恢复三步。

 

4.软件质量保证

如何保证软件的可用性方面也有一些需要注意的方面:

网站发布、自动化测试、预发布验证、代码控制、灰度发布等

 


推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 2017年软件开发领域的七大变革
    随着技术的不断进步,2017年对软件开发人员而言将充满挑战与机遇。本文探讨了开发人员需要适应的七个关键变化,包括人工智能、聊天机器人、容器技术、应用程序版本控制、云测试环境、大众开发者崛起以及系统管理的云迁移。 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
  • MOSS2007 中型服务场配置指南:网络负载均衡集群设置
    本文详细介绍了如何在MOSS2007环境中配置网络负载均衡集群,包括安装和配置网络负载均衡功能的具体步骤。通过本文,读者可以了解如何在多台Web服务器上安装并配置网络负载均衡,以实现高效的服务分发。 ... [详细]
  • ZooKeeper 入门指南
    本文将详细介绍ZooKeeper的工作机制、特点、数据结构以及常见的应用场景,包括统一命名服务、统一配置管理、统一集群管理、服务器动态上下线和软负载均衡。 ... [详细]
author-avatar
George_唐晓龙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有