大型网站技术架构(五)网站高可用架构

news/2024/5/10 2:53:09/文章来源:https://blog.csdn.net/weixin_33935505/article/details/92654395

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

网站的可用性(Avaliability)描述网站可有效访问的特性。

1、网站可用性的度量与考核

      网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点


      网站年度不可用时间=(1-网站不可用时间/年度时间)× 100%


      可用性指标时网站架构设计的重要指标,对外是服务承诺,对内是考核指标,具体到每个工程师,更多的是使用故障分。
      所谓故障分是指对网站故障进行分类加权计算故障责任的方法。如下是个案例:

分类

描述

权重

事故级故障

严重故障,网站整体不可用

100

A类故障

网站访问不顺畅或核心功能不可用

20

B类故障

非核心功能不可用,或核心功能少数用户不能访问

5

C类故障

其他故障

1

 

     故障分的计算公式为:


     故障分=故障时间(分钟)* 故障权重

2、网站的高可用架构

一个典型的网站设计通常遵循如下图所示的基本分层模型。

 

在负载的大型网站架构中,划分的粒度会更小,更详细,但通常还是能够把这些服务器划分到这三层中。

           对于应用层的服务器通常为了应对高并发的访问请求,会通过负载均衡设备将一组服务器组成一个集群共同 对外提供服务,当负载均衡设备通过心跳检测到某台服务器不可用时,就将其从集群列表中提出,并将请求分发到集群中其他 可用的服务器上,是整个集群保存可用,从而实现应用高可用。

        位于服务层的服务器情况和应用层类似,也是通过集群方式实现高可用,只是这些服务器被应用层通过分布式服务调用框架访问, 分布式服务调度框架会在应用层客户端中实现负载均衡功能。

        位于数据层的服务器情况比较特殊,数据服务器上存储着数据,为了保证数据不丢失,数据访问服务不中断,需要在数据写入时进行数据同步复制,将数据写入多台服务器上,实现数据冗余备份。
        网站升级的频率一般都非常高,每次网站发布都需要关闭服务,重新启动系统,相当于服务器宕机。因此网站的可用性架构还需要考虑到网站升级 发布引起的宕机。

3、高可用的应用

         应用层主要处理网站应用的业务逻辑,也称为业务逻辑层,应用的一个显著特点就是应用的无状态行,因此实现负载均衡相对简单一点。
         Web应用中将这些多次请求的上下文称为回话(Session),在单机情况下,session可部署在服务器上的Web容器上管理。在使用负载均衡 的集群环境中,由于负载均衡服务器可能会将请求分发到集群任何一台应用服务器上,所以保证每次请求依然能够获得正确的session比单机 时要复杂的多。在集群环境下,session管理主要有  以下手段。

          1、Session复制

Session复制是早期企业应用系统使用较多的一种服务器集群Session管理机制。应用服务器开启Web容器的Session复制功能,在集群中几台服务器之间同步Session对象,是每台服务器上都保存所有用户的Session信息。

        这种方案虽然简单,从本机读取Session信息也很快,但当集群规模比较大的时候会占用服务器和网站的大量资源,在大量用户访问的情况下,甚至会出现内存不够Session使用的情况。

         2、Session绑定

        Session绑定可以利用负载均衡的源地址Hash算法实现,负载均衡服务器总是将来源于同一IP的请求分发到同一台服务器上。这样在整个回话期间,用户所有的请求都在同一天服务器上处理,即Session绑定到某台特定的服务器上,保证Session总能在这台服务器上获取,这种方法有成为回话粘滞。

        3、利用Cookie记录Session

        一种管理Session的方式是将Session记录在客户端,每次请求服务器的时候,将Session放在请求中发送给服务器,服务器处理完请求后再将修改后的Session响应给客户端。

       4、Session服务器

        Session服务器,即把session的管理独立部署在某一台机器上,Web服务器不保存用户Session信息,每次都去Session服务器取数据。

        这种解决方案事实上是将应用服务器的状态分离,分为无状态的应用服务器和有状态的Session服务器。对于有状态的Session服务器,一种比较简单的方式是利用分布式缓存、数据库等。

4、高可用的服务

      可复用的服务模块为业务产品提供基础公共服务,大型网站中这些服务通常都独立分布式部署,被具体应用远程调用。可复用的服务和应用一样,是无状态的,因此可以使用类似负载均衡的失效转移策略实效高可用的服务。
      除此之外,在实践中,还有一些几点高可用的服务策略。
      1、分级管理
      2、超时设置
      3、异步调用
      4、服务降级,网站高峰期间,可以关闭一些不重要的服务,如评论。

5、高可用的数据

      保证数据存储高可用的手段主要是数据备份和失效 转移机制。
      CAP原理:即数据持久性、数据可访问性、数据一致性。

6、高可用的网站质量保证

     这里主要说下网站发布流程吧。看图即可:


 7、网站运行监控

     “不允许没有监控的系统上线”。网站运行监控对于网站运维和架构设计优化至关重要,运维没有监控的网站,犹如驾驶没有仪表的飞机。
     具体到监控哪些数据,主要有:
      1、用户行为日志收集(服务器端和浏览器端)
      2、服务器性能监控(CPU、内存等)
      3、运行数据监控(缓存命中率、平均响应延迟时间、每分钟发送邮件数目、待处理的任务总数等

    监控数据采集后,除了用作系统性能评估、集群规模伸缩性预测等,还可以根据实时监控数据进行风险预警,并对服务器进行失效转移,自动负载调整,最大化利用集群所有机器的资源。

转载于:https://my.oschina.net/zhanghaiyang/blog/595948

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_720317.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript网站设计实践(四)编写about.html页面,利用JavaScript和DOM,选择性的显示和隐藏DIV元素...

一、现在我们在网站设计(三)的基础上,来编写about.html页面。 这个页面要用到的知识点是利用JavaScript和DOM实现选择性地显示和隐藏某些DIV about.html页面在前面我们为了看导航栏菜单项高亮显示时,已经写了部分内容,…

试用期没过,因在公司上了1024网站...

“ 最近浏览到一个知乎问题:某运营同学在试用期期间因为在工作期间上了某 1024 网站,导致试用期不过。看到上面几个问题,我不禁想问(这脑回路也是……):通过浏览器访问 HTTPS 站点,其他人真的没…

seo建设者_石家庄网站seo网站优化电话,企业网站优化设计_华阳网络

天津华阳在线科技有限公司为您详细解读石家庄网站seo网站优化电话,企业网站优化设计的相关知识与详情:爬虫有很多名字,比如web机器人spider等,它是一种可以在无需人类干预的情况下自动进行一系列web事务处理的软件程序。一爬虫是什么&#xf…

最快快快快快的网站勘验产品邀你来体验

一分钟能干些什么? 听不完一首歌 不够一对热恋的情侣接一次吻 But! WFS可以完成30个常规页面固定 WFS 重磅发布 随着互联网的高速发展,网络犯罪案件数量爆发式增长,涉案网站勘验取证工作量急剧上升,这就需要对涉案…

技术实战-阿里云网站服务器镜像取证方法

阿里云服务器因其性能卓越、安全稳定、高性价比等特性被广泛使用。而在众多网络犯罪中,我们也发现不少犯罪嫌疑人将涉案网站搭建在阿里云服务器上。当办案人员从阿里云公司获取涉案网站服务器的镜像后,将面对如何对服务器的镜像进行取证的难题。 本文将…

网站仿真问题排查思路和方法大盘点

上一篇文章《阿里云网站服务器镜像取证方法》发布后,广大一线电子数据取证工作人员都觉得非常实用,但是在操作过程中,常常遇到网站仿真后,却无法正常打开的现象,本篇文章效率源效哥盘点下网站仿真问题排查思路和方法&a…

网站勘验:WFS十大升级亮点,提高取证效率

WFS一直朝着自己的目标不断前进,已经是一个成熟的软件了(前情回顾:WFS支持暗网取证),这次它又带来哪些惊喜升级,快来看看: 新增功能 1.内置浏览器资源下载功能 支持对浏览器中的视频、图片、音频、文档及其他类型文…

【技术视界】网站防入侵,如何检测webshell?

世界上没有绝对安全的系统 当一名黑客获得你的访问控制权限 他可以操作你的服务器 你的数据库,你的后台 甚至,你的一切…… 网站被入侵了? 办案人员常常接到这样的案件:某单位网站遭黑客入侵,被非法上传webshell&…

资讯交流网站设计与实现_【SEO优化】网站的SEO优化要点

点击蓝字关注我哦MINTGREEN网站标题在选择关键字时,一定不要太多,主要关键字2-3个即可,另外选择一些长尾词,具体SEO优化技巧可参考以下几点:一、关键词分析(又称关键词定位)关键字分析主要包括:关键字关注量…

网站被恶意攻击后,如何从海量数据中查找“作案痕迹”?

随着我国数字化转型的深入发展,信息数据已从资产保护对象成为重要的经济生产工具,数据安全面临着前所未有的威胁。数据泄露、高危漏洞、网络攻击以及相关的网络犯罪呈现新的变化,也加重了网络安全事件所带来的损失和影响。近年来针对政府和金…

「技术视界」Web网站还原技术研究

导读 现在计算机大多都是以服务器和客户端的形式为用户提供服务,而在这种服务模式中,网站服务(B/S)以其绝对的优势被大多数企业和个人所采用。在对网站服务进行取证时,我们不仅需要获取到网站的数据与代码&#xff0c…

开发一个网站的总体流程

一般流程:(以一个登录页面为例) 1、美工 用photoshop设计每个页面的效果图,一般文件格式为PSD。 以下就是一个设计好的效果模版图: 2、切图得素材 对美工得到的效果图进行相应的裁剪,最终作为网页开发时…

小学生搞了自己学校的网站!

整理:编程技术宇宙今天这篇文章来源于知乎上一个叫Ret2Rttr的分享,作者自称是一名六年级的小学生。文章主要记录的是他针对自己学校网站的一次渗透测试,过程非常有趣,所以分享给各位读者朋友。上周三,闲着无聊&#xf…

路边「诈骗案」,程序员自建停车缴费网站牟暴利!

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 2.4 分钟。来自:广西法制日报;记者:刘康 ;通讯员:杨李现如今,无人收费停车场已十分普及,自助扫码缴费成为当下车主生活的常…

Visual Studio 2010 将网站直接发布到远程站点

原文:Visual Studio 2010 将网站直接发布到远程站点这次说下如何将web应用程序直接发布到IIS服务器站点!!! 问题的由来 本人每天要发布更新的程序,所以每次更新的时候要做的工作:获取最新源码,编译程序&…

黑客是如何攻破一个网站的?

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 5 分钟。来自:https://resources.infosecinstitute.com/topic/hacking-a-wordpress-site/一篇科普文,很适合小白,长文请静下心看。通过本文你将了解黑客常用的入手思路和技…

永别了,91网站!宣布永久关闭

程序员的成长之路互联网/程序员/技术/资料共享 关注阅读本文大概需要 2.8 分钟。5月17日晚,“百度手机助手开发者”公众号发布了一篇《关于91和安卓市场渠道的下线通知》。宣布将不再支持91和安卓市场渠道的渠道包上传和管理等功能,同时,百度…

php企业网站带模块,DouPHP模块化企业网站管理v1.6系统含小程序/公众号源码

DouPHP是一款轻量级企业网站管理系统,基于PHPMYSQL架构的,包含“手机版”、“公众号管理模块”、“小程序”,可以使用它快速搭建一个企业网站。功能性模块:防伪查询模块、投票模块、自定义表单模块、工单模块等、会员模块、订单模…

京东一面:Nginx 禁止国外 IP 访问网站!

点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达来源:toutiao.com/i6860736292339057156先来说说为啥要写这篇文章,之前小编看了下nginx 的访问日志,发现每天有好多国外的IP地址来访问我的网站,…

织梦配置html,织梦网站后台的基本设置

网站搭建完成之后,后台的一些基本设置必不可少,同时还要考虑到一些SEO方面的设置,这也是基础优化的开始。1、站点设置点击左侧的【系统】→【系统基本参数】站点根网址为:http://127.0.0.1文档HTML默认保存路径的/a,去…