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

news/2024/5/9 20:30:18/文章来源:https://blog.csdn.net/weixin_33739541/article/details/92648152

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

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

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

相关文章

仿海康网页版做一个在线的实时监控网站(2)-- 视屏显示和云台控制

在上一篇博客仿海康网页版做一个在线的实时监控网站(1)中讲了侧边站点选择栏的生成,这篇博客主要说一下视屏插件的摆放和一些云台控制的操作函数 首先海康的摄像头可以找他们要一个网页版的开发Demo,如果没有我提供一个&#xff1…

快速排序查询第k大元素C语言,福建十三水下载苹果 -官方网站

NioEventLoop启动触发条件: 1.服务端绑定本地端口 2.新连接接入通过chooser绑定一个NioEventLoop 服务端绑定本地端口 绑定本地端口,使用下面方法; ChannelFuture future bootstrap.bind(host, port).sync(); 最终会调用doBind0()方法: private static void doBind0(final Cha…

一步步教你为网站开发Android客户端

本文面向Android初级开发者,有一定的Java和Android知识即可。文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView 背景介绍:客户端(Client)或称为用户端&#xff0c…

批量getshell工具全自动_网站推广_网站推广软件_网络推广_免费网站推广工具_下载列表...

网站推广 | 共享版 | 大小: | 环境:XP/2003/Vista/Win7/win10 | 人气:28石青抖音运营专家是一款面向抖音推广者和抖商的运营、推广工具。石青抖音运营专家是一款整合了自动养号,互粉,取关,搜索加人,附近人推广,互动营销…

使用XPathDocument拒绝访问网站外部资源时的两种替代方法

XPathDocument对象提供了一种非常方便的加载XML资源的方法,只要被访问的资源路径正确并且当前进程有权限进行访问,则可以直接通过该对象的构造函数加载XML文件,然后以面向对象的方式对XML文件进行操作。如果要访问的XML文件拒绝当前进程以匿名…

网站手工添加一行数据_给数据分析狮看的Python--第2章、数据的获取

给数据分析狮看的Python--第2章、数据的获取给数据分析狮看的Python1、前言通过上一次的分享,我们已经学会了如何安装Python,有了工具我们还缺少数据,今天就来分享如何获取数据。获取数据要么我们手工新建一个要么把外部数据导入到Python中&a…

大型网站架构技术读后感

最近在看趣谈网络协议,顺带看看这本朋友推荐的书,《大型网站技术架构》是由宝架构师李智慧大牛写作的,我把这本书称为“开眼之书”,这本书站在架构的角度讲网站架构,讲的是整体规划和考虑问题的思路,我从事…

chrome扩展程序科学_扩展科学知识的最佳网站

chrome扩展程序科学If you have a thirst for scientific knowledge, there are many websites that can start to quench that thirst. From news about scientific discoveries to resources for teaching science, you can find a wealth of scientific information on the …

预告片下载网站_如何在预告片电影中添加预告片以获得真实的电影院体验

预告片下载网站If you’re a fan of movie trailers, pre-rolls, and the build up of anticipation leading up to the cinematic experience, then we’ve got a treat for you: Plex Media Server makes it dead simple to recreate that theater magic right at home with …

夺命雷公狗—玩转SEO---7---描文本

七、描文本 描文本是链接的一种形式,她非常有利于网站的排名,简单来说就是一个A标签,鼠标点击A标签后直接跳到一个界面,如下图所示 如果点击后A标签中的文字后页面时肯定会跳转到下方所显示链接中的页面去哟~转载于:https://www.c…

浏览器的搜索框如何用HTML实现,移动浏览器中的html搜索框如何响应软键盘搜索按钮事件?手机网页制作哪个好用?如何防止Dreamweaver在手机上访问网站时跳转到手机版?...

移动浏览器中的html搜索框如何响应软键盘搜索按钮事件?手机网页制作哪个好用?如何防止Dreamweaver在手机上访问网站时跳转到手机版?下面就和小编一起来看看吧!移动浏览器中的html搜索框如何响应软键盘搜索按钮事件?那就是输入法的问题。当搜狗遇到那种输入框的时候&#xf…

气流预测网站_如何优化房屋的气流以节省空调费用

气流预测网站Many smart thermostats claim they can save you money on your heating and air conditioning bills. Indeed, you might save a considerable amount of money by getting a Nest or Ecobee3, but they can also cost you more money if your house itself isn’…

小技巧:在线生成按钮Shape的网站

Android Button Make 右侧设置按钮的属性,可以即时看到效果,并即时生成对应的.xml 代码,非常高效(当然熟练的话 自己手写代码更快)

网站链接被微信屏蔽拦截了怎么办?VJump帮你解除屏蔽

出现这种情的原因呢,我相信大家也去了解了很多,但是对于商家来说,我们要避免出现这种情况,或出现了要立马解决。了解原因再去想解决办法是技术的事情。一天没解决,就多一天的损失。原因大同小异,无非是域名…

选择偏好_网站如何记住您的偏好(以及关于Cookie的选择)?

选择偏好How do websites remember your preferences for them (or desire for none), and what about the touchy subject of cookies themselves? Today’s SuperUser Q&A post seeks to shed some light on how cookies work and the information they store for a con…

更改服务器网站安装目录权限,Apache Wind2003 配置网站目录权限小结

Apache Wind2003 配置网站目录权限小结更新时间:2009年09月05日 22:32:03 作者:Apache Windows 2003 配置网站目录权限小结非常简单的权限设置,就是访问网站时会弹出用户名和密码,通过身份验证后可以正常浏览,如下图…

询问HTG:在网站中搜索,Google Play替代品以及双重引导入门

Once a week we round up some of the reader letters we’ve answered and share the advice with everyone. This week we’re looking at how to search within web sites, downloading apps from places other than Google Play, and getting started with dual booting op…

tcp流式传输_收听互联网广播以及下载和流式传输免费音乐的最佳网站

tcp流式传输When was the last time you listened to over-the-air FM radio? There are so many options on the internet for listening to thousands of different radio stations in many different genres and for downloading a lot of music for free. 您上次收听无线调…

rss阅读器_赶上您喜欢的网站的最佳免费RSS阅读器

rss阅读器RSS stands for “Really Simple Syndication” or “Rich Site Summary.” It’s a document specification that allows you to easily collect and organize web-based news and information from websites. RSS reader applications allow you to follow your fav…

win 8 metro交互_将您喜欢的网站固定到Windows 8中的Metro Start屏幕

win 8 metro交互It’s easy to pin apps and folders to the Metro Start screen in Windows 8. What about your favorite websites? Windows 7 allows you to pin websites to the Taskbar. It’s also easy to pin your favorite websites to the Windows 8 Metro Start sc…