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

news/2024/5/9 14:08:15/文章来源:https://blog.csdn.net/weixin_34417814/article/details/92652877

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/593204

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

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

相关文章

大型网站技术架构(一)大型网站架构演化

2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及ses…

linux 查看机器硬件配置,在linux下如何查看机器硬件配置?_网站服务器运行维护...

在windows中用鼠标选定多个不连续文件的操作是什么_网站服务器运行维护在windows中用鼠标选定多个不连续文件的操作是:首先打开需要选定的文件;然后按住【Ctril】键不放,单击需要的文件;最后出现选中状态即可。在linux下如何查看机…

开源网站分析软件Piwik的数据库表结构

文章引用:【http://www.biaodianfu.com/piwik-database-schema.html】 Piwik是一套基于PhpMySQL技术构建,能够与Google Analytics相媲美的开源网站访问统计系统,前身是phpMyVisites。Piwik可以给你详细的统计信息,比如网页浏览人…

使用最新 solr4.10 快速开发团购网站等垂直搜索网站

说明: solr 是一个非常完善的开源项目,非常优秀,他不紧紧是做个索引这么简单,而是可以做成一个垂直的网站,比如团购网站,快速搭建页面。而且solr带了一个非常优秀的管理后台。可以查看管理,导入…

发现一个国外的学习网站

一个国外的学习网站 udacity.com 优达学成。 免费课程 https://cn.udacity.com/courses/all 全部的课程 里面有不少有意思的课程。 课程是英文的带中文翻译。 还有一个机器学习的课程,感觉好高大上啊。 总结 使用上有点不太方便。 本地化做的还不是很…

javascript ,从mozilla 官方网站学习语法,非常不错

本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/81153733 博主地址是:http://blog.csdn.net/freewebsys 1,关于mozilla 开发者 https://developer.mozilla.org/zh-CN/ 还有这么一个开发者中心呢,上面搜索写JavaScri…

pagespeed insights 上线了,可以通过web进行网站性能分析了

地址: https://developers.google.cn/speed/pagespeed/insights/ 分析下csdn网站: 功能挺多的,还不错。 可以进行参考,然后优化。提高访问速度。

中国大学MOOC(慕课) 一个不错的学习网站

https://www.icourse163.org/category/all 中国大学MOOC是由网易与高教社携手推出的在线教育平台,承接教育部国家精品开放课程任务,向大众提供中国知名高校的MOOC课程。在这里,每一个有意愿提升自己的人都可以免费获得更优质的高等教育。 央…

flutter(4):在linux 下安装flutter 环境,sdk,Android Studio ,从中文镜像网站下载,速度快,安装插件,调整bios使用x86镜像,写个hello world。

目录前言1,关于 flutter2,使用3,启动5,学习视频6,总结前言 相关arduino 全部分类: https://blog.csdn.net/freewebsys/category_8957746.html 本文的原文连接是: https://blog.csdn.net/freewebsys/articl…

图片切换onmouseover 事件

http://www.w3school.com.cn/htmldom/event_onmouseover.asp 定义和用法 onmouseover 时间会在鼠标指针移动到指定的对象上时发生。 语法 οnmοuseοver"SomeJavaScriptCode" 参数描述SomeJavaScriptCode必需。规定该事件发生时执行的 JavaScript。支持该事件的 HTM…

kotlin学习(2):android开发股票APP开发。先上github交友网站进行搜索,参考相关开源项目。然后进行二次开发、修改,不从零进行项目开发。

目录前言1,关于股票APP2,使用下载代码运行3,总结前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/108718819 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys 1,关于…

手机网站按住放大图片_动辄上千的手机稳定器值不值?魔爪手机稳定器mini mx 499不香么...

现在什么最火?当然是小视频vlog了。随着抖音等短视频App的火爆,短视频就风靡全球了。录制短视频也从兴趣爱好演变成了多种职业形式,不仅能够满足个人记录还能够带来经济收益。那么怎样才能像vlog创作者一样录制高质量的短视频资源呢&#xff…

2018洛奇英雄传永恒最新服务器,洛奇英雄传:永恒官方网站-这一次让经典成为永恒...

《洛奇英雄传:永恒》公会篝火玩法介绍2017年05月16日公会是洛英手游的特色系统,在洛英手游中,公会玩法众多,既有着公会饮酒,公会篝火等休闲玩法,还有着斗争之塔,征战英雄等公会副本战斗&#xf…

摄影分享网站之导航栏

一. 图片展示 二.内容构成 该导航栏由一个大div标签里面包裹三个小div,分别用来放置logo,和搜索框加按钮,最后一个放置导航链接 ,链接里实现下拉菜单。 1.logo logo部分比较简单,把图片放入设定好大小的div中,使用flo…

python编程游戏用什么软件好,推荐4个 Python 的编程游戏网站

简说Python号主老表,自学,分享Python,SQL零基础入门、数据分析、数据挖掘、机器学习优质文章以及学习经验。135篇原创内容公众号↑↑↑关注后"星标"简说Python人人都可以简单入门Python、爬虫、数据分析简说Python推荐本文内容来源…

java线程睡眠的方法_「thread.sleep」Java Thread之Sleep()使用方法总结 - seo实验室

thread.sleep一、API简介Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断,将会抛出IterruptedException中断异常。。主要方法如下:【a】sleep(long millis) …

计算机科学与技术导论 网站,计算机科学与技术导论

????张小峰、贾世祥、柳婵娟、邹海林编著的《计算机科学与技术导论》以启迪科学思想、培育创新精神为目标,以知识为起点,以知识发现、发展和应用为主线,构建 计算机科学技术导论 课程的内容体系。包括理论产生、研究的动因、思想方法和理…

服务器错误信息暴露URL,访问网站提示An error occurred on the server when processing the URL的解决方法...

大家看到这个信息不要怕,这个就说明了你的iis7或iis7.5的下的网站有错误。只要找到具体的信息就可以了,跟iis6下的经典提示错误一样的。解决方法:An error occurred on the server when processing the URL. Please contact the system administrator在W…

html网站首页代码_如何在百度站长工具平台上进行“网站验证”

作为一名站长,在网站搭建以后,如果想要使用百度站长工具了解网站的相关数据,这时需要先到百度站长工具平台上验证您的网站。站长平台推荐站长添加主站(您网站的链接也许会使用www和非www两种网址,建议添加用户能够真实访问到的网址…

mysql 网页版管理工具_WP菜鸟建站25:怎样安装和打开phpMyAdmin数据库管理工具?...

wordpress程序是由PHP语言开发而的一个动态网站程序,所以,它拥有自己的mysql数据库。我们的wordpress网站的前端页面所展示的文字和图片信息,都是从这个mysql数据库中调用出来的。一般情况下,作为wordpress站长的我们,…