信息系统运行管理员教程9--大型网站运维

第9章 大型网站运维

本章对大型网站系统的运维从共性到个性进行案例分析,阐述大型网站运维的现状,运维团队建设、明晰网站运维的目标和主要职责,根据网站技术架构,分析典型大型网站运维的体系框架和技术关键。

第1节 大型网站概述

本书所属的大型网站基于运维复杂性角度,即网站运维相关的指标,如网站规模、知名度、服务器规模、页面浏览量PV等达到一定量级,这里大型网站的量级界定为服务器规模大于千台,日PV量上千万。

1.大型网站分类

**按发展阶段划分:**分为web1.0、web2.0及云计算时代的web3.0网站。

**按应用类型划分:**分为:资讯类网站、交易类网站、社会性网站、游戏类网站、功能类网站等。

2.大型网站的特点

从性能的角度来看有以下特点:并发用户数多、流量大;系统24小时不间断服务的高可用性;需要使用大量服务器以存储和管理海量数据;用户分布广泛、网络情况复杂;层出不穷的安全问题;产品更新、需求变更快,发布频繁,以适应不断变化的用户需求;系统架构由简到繁的不断变化。

3.大型网站架构的演化

一个成熟的大型网站的系统架构并不是开始设计就具备完整得高性能、高可用、安全等特性,它总是随着用户量的增加,业务能力的扩展逐渐演变完善的。

**最开始的网站架构:**最初的架构,应用程序、数据库、文件都部署在一台服务器上。

**应用、数据、文件分离:**随着业务的扩展,一台服务器已经不能满足性能需求,故将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。

**利用缓存改善网站性能:**在大部分网站系统中,都会利用缓存技术改善系统的性能,使用缓存主要源于热点数据的存在,大部分网站访问都遵循28原则(即80%的访问请求,最终落在20%的数据上),所以可以对热点数据进行缓存,减少这些数据的访问路径,提高用户体验。

常见的缓存方式:本地缓存、分布式缓存;还有CDN(内容分发网络)、反向代理等。

OS Cache 就是常用的本地缓存组件;Memcached、Redis就是常用的分布式缓存。

**使用集群改善应用服务器性能:**应用服务器作用网站的入口,会承担大量的请求,往往通过应用服务器集群来分担请求数。应用服务器前面部署负载均衡服务器调度用户请求,根据分发策略将请求分发到多个应用服务器节点。

负载均衡技术硬件:F5,价格比较贵。

负载均衡技术软件:LVS 、Nginx、HAProxy。

**数据库读写分离和分库分表:**随着用户量的增加,数据库成为最大的瓶颈,改善数据库性能常用的手段是进行读写分离以及分表。

读写分离就是将数据库分为读库和写库,通过主备功能实现数据同步。

库分表则分为水平切分和垂直切分。水平切分是对一个数据库特大的表进行拆分,例如用户表。垂直切分则是根据业务不同来切分,如用户业务、商品业务相关的表放在不同的数据库中。

使用CDN和方向代理提高网站性能:

CND将数据内容缓存到运营商的机房,用户访问时先从最近的运营商获取数据,这样大大减少了网络访问的路径。

反向代理则是部署在网站的机房,当用户请求到达时首先访问反向代理服务器,反向代理服务器将缓存的数据返回给用户,如果没有缓存数据才会继续通过应用服务器获取,也减少了获取数据的成本。反向代理有Squid,Nginx。

**使用分布式文件系统:**用户一天天增加,业务量越来越大,产生的文件越来越多,单台的文件服务器已经不能满足需求,需要分布式的文件系统支撑。常用的分布式文件系统有NFS。

**使用NoSQL和搜索引擎:**NoSQL泛指非关系型的数据库。常用的NoSQL有Mongodb和Redis,搜索引擎有Lucene。

**将应用服务器进行业务拆分:**随着业务进一步扩展,应用程序变得非常臃肿,需要将应用程序进行业务拆分,如百度分为新闻、网页、图片等业务。每个业务应用负责相对独立的业务运作,业务之间通过消息进行通信或者同享数据库来实现。

**搭建分布式服务:**各个业务应用都会使用到一些基本的业务服务,例如用户服务、订单服务、支付服务、安全服务,这些服务是支撑各业务应用的基本要素。将这些服务抽取出来利用分布式服务框架搭建分布式服务。

第2节 大型网站运维背景知识

1.大型网站运维的定义

我们定义的大型网站,服务器规模大于1000台,PV每天至少上亿等。

大型网站的产生过程:首先公司管理层给出指导思想,产品经理定位市场需求进行调研、分析、最终给出详细设计;架构师根据产品设计的需求完成网络规划、架构设计等;开发工程师将设计code实现出来、测试工程师对应用进行测试;运维工程师进行运维。

信息系统管理员日常工作:将日常机械性手工工作通过工具实现,提高效率;解决现实中服务存在的问题;大规模集群管理工具的开发。

2.运维工程师需要什么样的技能及素质

**技能方面:**开发能力;通用应用方面需要了解;系统、网络、安全、存储、CDN、DB等需要相当了解,知道其原理。

**个人素质方面:**沟通能力、团队协作;工作中需要胆大心细;主动性、执行力、意志力;需要有探索创新精神。

**合格的运维工程师:**保证服务达到要求的线上标准,保证线上稳定;不断地提升应用的可靠性与健壮性、性能优化、安全提升;网站各层面监控、统计的覆盖度,软件、硬件、运行状态,能监控的都需要监控统计,避免监控死角、并能实时了解应用的运转情况;通过创新思维解决运维效率问题;运维知识的积累与沉淀、文档的完备性;计划性和执行力;自动化运维。

3.运维关键技术点

**监控:**主要包括故障监控和性能、流量、负载等状态监控。

**故障管理:**硬件故障问题、应用故障问题。

**自动化:**将日常手动进行的一些工作通过工具,系统自动来完成。

第3节 政府门户网站运维案例分析

1.运维服务总则

**安全性:**门户网站及内容管理平台应用的安全性;门户网站及内容管理平台数据的安全性。

**稳定性:**运维要求系统不间断服务,即提供7×24不间断服务,专人值守,监控网站,意外情况下,及时通知信息中心相关负责人,并做好各项应急准备。

IT运维体系的建立:

运维初期,以“系统日常运行和支持”为主,重点解决服务支持流程,对方生的问题进行维护和处理,运维后期,关注运维服务的长期计划和改进,考虑服务提供。

针对政府门户网站,运维的主要任务是解决发生的问题,对IT基础架构进行基本的配置管理,主要实现“服务台”、“事件管理”、“问题管理”、和“配置管理”。

为提高运维人员解决问题的能力和效率,运维体系扩展加设“知识库”,以提高运维技术的积累、传承、利用。

系统运维故障等级:

一级故障:是指系统发生严重故障,业务发生终端,或虽然业务未中断但已经无法保证及时、正确的情况,对用户业务的运行有严重影响。

二级故障:是指对于系统发生的非严重故障,业务并未中断,业务仍然及时、正确的情况,但性能有所下降。

三级故障:是指系统发生轻微的故障,系统有警告信息等,对系统没有较大影响的故障。

**系统运维制度建设:**在信息化运维中,制度建设是一道必要的保障。

进行IT运维制度化:转变运维观念,树立规范化意识;建立事件处理流程,强化规范执行力度。

2.运维团队组织

**组建原则:**应急响应服务能力;实施人员具有良好的职业道德,不损害用户利益;驻场工程师配置具备安全的稳定性;美工配置具有良好的网页及平面设计能力,丰富的网站制作经验;在项目实施过程中不随意变换拟派的项目经理。

**人员角色:**IT服务管理是以流程为中心的,针对每个流程,定义了一系列角色,每个角色被赋予特定的职责和任务,实现责权利的统一

**工作岗位设置:**管理岗;技术岗。

**组织机构:**在运维组织设计中,重点考虑人员、角色、岗位三个因素。

**人员安排:**运维团队人员安排。

3.运维服务内容

网站内容保障服务;

日常巡检服务;

网站安全服务;

数据库备份及备份验证;

应对黑客攻击和网站故障;

灾备演练;

应急处理流程;

技术支持;

网络设备日常运行维护;

主机系统日常运行维护;

存储设备日常运行维护;

数据库日常运行维护。

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

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

相关文章

表格columns拼接两个后端返回的字段(以umi框架为例)

在用组件对前端项目进行开发时,我们会遇到以下情况:项目原型中有取值范围这个表字段,需要存放最小取值到最大取值。 而后端返回给我们的数据是返回了一个最小值和一个最大值, 在columns中我们需要对这两个字段进行拼接&#xff0…

Git系列之git tag和ReleaseMilestone

以下是关于 Git Tag、Release 和 Milestone 的深度融合内容,并补充了关于 Git Tag 的所有命令、详细解释和指令实例,条理清晰,结合实际使用场景和案例。 1. Git Tag 1.1 定义 • Tag 是 Git 中用于标记特定提交(commit&#xf…

SQLiteStudio:一款免费跨平台的SQLite管理工具

SQLiteStudio 是一款专门用于管理和操作 SQLite 数据库的免费工具。它提供直观的图形化界面,简化了数据库的创建、编辑、查询和维护,适合数据库开发者和数据分析师使用。 功能特性 SQLiteStudio 提供的主要功能包括: 免费开源,可…

VMware workstation 17安装过程详细指南

VMware 17安装过程详细指南 一、准备工作 在开始安装 VMware 之前,你需要确保你的计算机满足以下条件: 操作系统:VMware Workstation 支持多种 Windows 和 Linux 操作系统。确保你的操作系统版本在 VMware 支持的范围内。 硬件要求&#…

【从零开始学习计算机科学】计算机组成原理(六)异常事件处理

【从零开始学习计算机科学】计算机组成原理(六)异常事件处理 异常事件处理异常处理的数据通路异常事件入口地址 异常事件处理 异常和中断事件改变处理机正常指令的执行顺序。异常指令执行过程中,由于操作非法和指令非法引起的事件。陷阱指陷…

基于DeepSeek的智慧医药系统(源码+部署教程)

运行环境 智慧医药系统运行环境如下: 前端: HTMLCSS后端:Java AIGCDeepseekIDE工具:IDEA技术栈:Springboot HTMLCSS MySQL 主要角色 智慧医药系统主要分为两个角色。 游客 尚未进行注册和登录。具备登录注册、…

WinUI 3 支持的三种窗口 及 受限的窗口透明

我的目标 希望能够熟悉 WinUI 3 窗口的基本使用方式,了解可能出现的问题 。 WinUI 3 支持三种窗口模式,分别为:常规窗口模式、画中画模式、全屏模式。 窗口模式:常规 即我们最常见的普通窗口。 支持:显示最大化按钮…

《云原生监控体系构建实录:从Prometheus到Grafana的观测革命》

PrometheusGrafana部署配置 Prometheus安装 下载Prometheus服务端 Download | PrometheusAn open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.https://prometheus.io/…

VBA 数据库同一表的当前行与其他行的主键重复判断实现方案1

目的,判断是否主键重复,不重复则登录新数据,重复则不登录。 定义类型: DataRecord   tableName 表名   rowNumber 行号   columnName 列名   data 数据 想要实现的代码逻辑如下: 模拟数据库的登录过程。假设…

MySql的in和join对比谁更高效

公司有个SQl根据时间判断是否变化进而更新到主表通知下游服务告知变化 首先看下优化前和优化后的sql: 优化前:执行很慢 UPDATE vrs_video SET updated_at now() WHEREvrs_video.id IN (SELECT DISTINCTvideo_id FROMvrs_play_source WHEREvrs_play_…

用BGE Large ZH 1.5获取向量以及重排序构建生产环境可用restful API的Python代码讲解

开篇 嘿,各位小伙伴!今天我们来聊一个超级有趣的话题:embedding向量化数据。听起来很高大上对不对?别担心,让我用最简单的方式告诉你这是啥。 想象一下,你有一大堆文字、图片或者其他数据,想要…

【OneAPI】网页截图API-V2

API简介 生成指定URL的网页截图或缩略图。 旧版本请参考:网页截图 V2版本新增全屏截图、带壳截图等功能,并修复了一些已知问题。 全屏截图: 支持全屏截图,通过设置fullscreentrue来支持全屏截图。全屏模式下,系统…

1个基于 Three.js 的 Vue3 组件库

大家好,我是大澈!一个喜欢结交朋友、喜欢编程技术和科技前沿的老程序员👨🏻‍💻,关注我,科技未来或许我能帮到你! Tres.js 是一个基于 Three.js 的 Vue 3 组件库,旨在简…

QT | 信号与槽(超详解)

前言 对qt信号和槽的详细解释 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见📝 🎉欢迎大家点赞&am…

用Deepseek写一个五子棋微信小程序

在当今快节奏的生活中,休闲小游戏成为了许多人放松心情的好选择。五子棋作为一款经典的策略游戏,不仅规则简单,还能锻炼思维。最近,我借助 DeepSeek 的帮助,开发了一款五子棋微信小程序。在这篇文章中,我将…

Qwen2.5-7B-Instruct进行自我认知微调

使用镜像: modelscope/ms-swift/swift_lora_qwen2:v1 数据集和模型下载: 数据集内容: 启动命令: CUDA_VISIBLE_DEVICES0 \ swift sft \ --model Qwen/Qwen2.5-7B-Instruct \ --train_type lora \ --dataset AI-Mod…

百问网提供的烧写工具将各镜像文件烧写到eMMC存储器的各脚本的解析

重要说明:本文的烧写目标存储器是eMMC存储器 百问网提供的烧写工具不仅可以把各镜像文件烧写到eMMC存储器,还可以烧写到NADN,SD卡等存储设备,如下图所示: 但是本文的烧写目标存储器是eMMC存储器,这点是前提&#xff…

android studio开发文档

android基本样式 1.文本 2.设置文本大小 3.字体颜色 背景 资源文件 xml’引用资源文件 4.视图宽高 5.间距 6.对齐方式 常用布局 1.linearLayout线性布局 2.相对布局 RelativeLayout 3.网格布局GridLayout 4.scrollview滚动视图 Button 点击事件与长按事件 长按 按钮禁用与…

Unity Dots

文章目录 什么是DotsDOTS的优势ECS(实体组件系统)Job System作业系统Burst编译器最后 什么是Dots DOTS(Data-Oriented Technology Stack)是Unity推出的一种用于开发高性能游戏和应用的数据导向技术栈,包含三大核心组件…

Flink-DataStreamAPI-执行模式

一、概览 DataStream API支持不同的运行时执行模式,我们可以根据用例的要求和作业的特征进行选择。 STREAMING执行模式:被称为“经典”执行模式为,主要用于需要持续增量处理并且预计无限期保持在线的无界作业BATCH执行模式:类似…