当前位置:   article > 正文

阿里云运维架构实践秘籍_阿里云运维架构实践秘籍 pdf

阿里云运维架构实践秘籍 pdf

ISBN: 978-7-111-64969-4
作者:乔锐杰
页数:343页
阅读时间:2021-06-19
推荐指数:★★★★★

不愧是”乔帮主“的”降龙十八掌”,
章章都打出了深厚的功力,
是每一位开发和运维人员都要了解的运维知识,
强烈推荐。

阿里云运维架构实践秘籍

1. 中国互联网发展编年史

1994年4月20日中国实现了与国际互联网的全功能连接,
但是直到1998年我国门户网站才兴起。

互联网公司创立年份
网易1997年6月
搜狐1998年
京东1998年6月18日
腾讯1998年11月
新浪1998年12月
阿里1999年
盛大1999年11月
百度2000年
抖音2016年 9月20日

中国云服务发展编年史:

名称创立年份
阿里云2009年
盛大云2011年
天翼云2012年
腾讯云2013年
华为云2013年
百度云2015年

2. 运维

运维的发展阶段

  1. 人工阶段
  2. 脚本和工具阶段
  3. 平台化阶段
  4. 智能化阶段

传统运维痛点

  1. 有一定技术门槛
  2. 7*24小时响应中心
  3. 成本

云服务供应商排行:

参考链接:https://blog.csdn.net/diandi7/article/details/85262052

在这里插入图片描述

常见名词解释

服务英文中文
ECSElastic Compute Service云服务器
RDSRelational Database Service关系型数据库
SLBServer Load Balancer负载均衡
OSSObject Storage Service对象存储服务
VPCVirtual Private Cloud专有网络

80%的企业会选择云产品,20%的企业会考虑自行搭建对应服务。
一般单台Tomcat的极限并发在1000左右。
8核16G服务器使用Tomcat会造成浪费。
5Mbps的带宽指的是出口带宽,入口带宽不受限制。
入网选型:SLB网络、公网IP、弹性EIP、DNAT
出网选型:公网IP、弹性EIP、SNAT、公网IP类、SNAT类。
Nginx是七层及四层优秀的负载均衡。
8核32G Apache做Tomcat负载均衡,极限抗并发3000~5000
如果一条记录频繁访问,就应该放到缓存,临界点是5分钟

服务配置(CPU和内存)说明
数据库1:4偏向内存型
Tomcat1:24核8G最完美

实例分为共享型和独享型。
在SLB中加入新的服务器,可以无感知扩展。
CDN只做静态缓存加速,对动态请求是没办法加速的。

DevOps发展阶段

1.人工阶段
2.脚本和工具阶段
3.平台化阶段
4.智能化阶段

K8S的DevOps流程
Rancher

3. 不同云盘单路随机写访问响应时间对比

云盘名称响应时间
ESSD云盘0.1~0.2ms
SSD云盘0.5~2ms
高效云盘1~3ms
普通云盘5~10ms

4. 常见数据库性能对比

OracleMySQLRedis(KV)MongoDB(文档)HBase(列存储)
单表极限1亿~10亿1亿无限制10亿~海量10亿~海量
QPS2万~5万1万~3万10万~高并发1万~高并发1万~高并发

MySQL 单表最大行数控制在500W以下,否则需要分库分表

5. 常见衡量业务量级别指标

指标周期含义
PV按天Page View。一天内页面的访问次数,每打开或刷新一次页面,就算一次PV。
UV按天Unique Visitor。一天内访问网站的用户数(Cookie为依据)
IP按天一天内多少个独立的IP浏览了页面。
用户数注册用户数
活跃用户数按天注册用户数一天中实际使用了业务系统的用户数,同UV
在线用户数按天一天活跃用户数中,在一定时间段内在线数量。
并发用户数在线用户基础上,同一时刻向服务器发送请求的用户数。

6. 如何根据PV估算服务器数量?

一个500万PV的网站,大概需要多少台服务器?

一天中的80%业务请求量主要发生在40%的时间内。
24小时的40%是9.6小时。
每秒处理请求数量:(80% * 总PV)/(24小时60分钟60秒*40%)
得:100万PV=23.1个请求/秒
500万PV=115.7个请求/秒
一天的高峰期是平时的2~3倍:
100万PCV高峰期约为46.2和69.3个请求/秒
500万PCV高峰期约为231.4和347.1个请求/秒

7. 不同业务特性计算模型

业务分类特性计算模型
下载类内容下载,PV和IP差别不是很大PV=IP量/活跃用户数 * (2~5倍)
音视频内容查看,停留某个页面比较长;PV和IP差距大PV=IP量/活跃用户数 * (5~10倍)
电商论坛资讯内容筛选,浏览为主,不同页面浏览可能性大。PV和IP差距大PV=IP量/活跃用户数 * (10~30倍)

1000人同时使用系统时:

占比业务操作
40%浏览系统内容停留在某个页面查看,不会对服务端产生负担。
20%填写负责表格只是填写表单,没有提交。
20%挂机什么也没做,也不会对服务器造成压力。
20%操作点击、跳转、提交、产生压力。

活跃用户数 = 用户数 * 业务因子(10%~30%)
在线用户数 = 活跃用户数 * 业务因子(10%~30%)
并发用户数≈每秒请求数 = 在线用户数 * 业务因子(10%~30%)

8. PV量和服务器配置/RDS配置对应表

PV(万)服务器配置RDS配置
11核/1G/1台
102核/4G/1台1核/1G/1台
504核/8G/1台2核/4G/1台
1008核/16G/1台4核/8G/1台
5008核/16G/10台8核/16G/1台
10008核/16G/20台16核/64G/1台

9. 服务器CPU/内存配置模型

互联网企业的服务器CPU利用率平均在10%-20%,磁盘利用率20-30%,有80%的企业都存在闲置资源浪费情况。

比例最佳实践参考
1:1个人网站、官网、小型网站1核1G、2核2G
1:2消耗高资源计算,游戏类、高并发、电商、秒杀活动等最多的当属8核16G
1:2Tomcat、Nginx、Squid2核4G
1:2中小型Web服务、应用类、Tomcat中低配、Nginx、Apache、Squid、Python、Node4核8G
1:2大型Web服务、应用类、Apache、Python、Node8核16G
1:4数据库(先IO后内存)8核32G经典配置
1:8内存型应用:Redis、Memcache等2核16G、4核32G、8核64G
1:8Redis单进程单线程模式2核8G、2核16G

10. 云盘空间选择

容量类型
系统盘(40G)没有文件存储、系统日常基础日志
100~300G部署代码应用
500G及以上数据库类应用、Binlog、数据文件、备份等。一般采用SSD云盘

1.云盘中不建议进行分区
2.云盘中不建议使用LVM
3.云盘的系统盘不建议做数据存储
4.云盘最好不要依赖ECS
5.云盘最好挂载/etc/fstab中

11. 宽带的选择

如果需求只是入口流量一般采用SLB,带宽性能、架构扩展、安全性都比公网宽带好。
如果是出口流量需要配置公网宽带。
80%的宽带会被静态资源传输占用。
远程管理服务器可采用2Mbps按量带宽即可。
宽带配置 = 每秒请求数量*每次请求传输数据量(假设为20KB/s)

PV平时访问带宽2倍带宽3倍带宽
100万23.1*20=462KB/s=3696bps/s=3.5Mbps7Mbps11Mbps
500万115.7*20=2314KB/s=18512bps/s=18.5Mbps37Mbps55Mbps

1核1G 5Mbps费用是161.8元/月,
1核1G 0Mbps费用是36.8元/月。
每月5Mbps固定宽带费:161.8-36.8 = 125元/月;
每月5Mbps固定宽带费每天费用:125/30 = 4.2元/天
每月5Mbps固定宽带每天的可用流量:4.2/(0.8元每G流量) = 5.25G
如上所述,每月5Mbps固定宽,每天需要5.25G以上的流量才能回本。

12. 共享文件存储的方法

1.Rsync文件共享实践
2.Rsync+Inotify文件共享实践
3.NFS文件共享实践
4.NAS文件共享实践
5.OSS文件共享实践

13. OSS文件管理

1.使用API接口、SDK管理OSS
2.使用阿里云管理控制台管理OSS
3.使用图形化工具管理OSS
4.使用本地文件系统挂载管理OSS
5.使用FTP管理OSS
6.使用命令工具管理OSS

14. OSS数据迁移

1.OSSImport工具
2.OSS在线迁移服务
3.跨区域复制
4.OSS离线迁移

15. 缓存

缓存是一种典型的牺牲数据时效性换取访问性能的技术。
1.浏览器缓存
2.磁盘缓存
3.内存缓存
4.CDN

数据库缓存

1.性能优越:I/O
2.应用场景:80%查询,20%操作。
3.数据一致性:先更新数据库,后更新缓存。
4.高可用

动态页面缓存

1.Nginx代理
2.PHP动态页面缓存
3.Nginx内置Memcache模块实现动态页面缓存
4.Nginx第三方模块

16. Session管理六种策略

1.基于源IP会话保持
2.基于浏览器Cookie会话保持
3.数据库存放Session
4.动态缓存的集中Session管理
5.基于Tomcat集群Session共享
6.基于NAS文件共享

17. 分库分表

分库分表,将不同库核表进行分集群拆分。
在高并发下,增加多个从库进行查询是可行的,
但是还是没有办法解决数据库的写操作,这就是读写分离的瓶颈。
这时候可以使用主主架构。
主从模式慢慢改成副本集模式。

分区拆表方式:
1.哈希算法:取余不同结果放到不同分区
2.范围:一段时间段放在一块。
3.映射关系:维护映射关系

18. 云迁移步骤

  1. 项目启动
  2. 系统架构梳理评估
    2.1 加入SLB保障架构灵活扩展性
    2.2 采用TCP层SLB保障性能
    2.3 采用低成本高效率按量带宽
    2.4 数据库优先采用RDS,低成本高效率
  3. 迁移方案
  4. 迁移实施
    4.1 域名备案
    4.2 镜像打包
    4.3 自动化运维工具
  5. 迁移测试
  6. 上线割接

19. 监控方案

1.Shell/Python
2.Nagios
3.Nagios+Cacti
4.Zabbix
5.云监控
6.驻云监控
7.Prometheus+Alertmanager+Grafana
8.TICK技术栈

20. 云端安全

1.安全行业不容乐观
2.防御两级分化
3.互联网安全意识堪忧
4.安全产品的使用问题
5.安全人才匮乏
6.云端安全环境复杂

黑客常见入侵步骤

1.信息收集
2.漏洞筛选
3.开始入侵
4.放置后门
5.清理痕迹

黑客常见系统层攻击

1.系统层攻击
木马、网马、小马、大马

2.应用层攻击
SQL注入、跨站脚本攻击、密码暴力破解、恶意注册刷单、WebShell

3.网络层攻击
DDos

通过专线+VPN的技术手段把云端和公司内网打通。
鸡蛋不要放在一个篮子里。

云端运维安全

1.云端堡垒机
2.运维用户管理
3.密码安全管理
4.防火墙安全管理
5.端口安全管理
6.云端开源WAF实践
7.云端数据安全传输标准
8.运维安全性能调优
9.通过冷备份和热备份进一步保障云端数据安全
10.加强安全巡检安全培训管理

一台ECS大概能支撑5~30万PV访问量。

Web应用请求类型汇总

请求类型请求流程消耗性能资源
DNS解析域名解析消耗DNS供应商解析性能
静态请求获取域名js、css、html、图片等静态文件。服务器网络和磁盘I/O资源
动态请求请求业务逻辑处理服务器CPU和内存
数据库请求数据库增删改查服务器磁盘I/O、内存和CPU

21. 架构阶段

1.架构基础阶段:物理分离Web和数据库
2.架构动静分离阶段:静态缓存+对象存储
3.架构分布式阶段:负载均衡
4.架构数据缓存阶段:数据库缓存
5.架构扩展阶段:垂直扩展(业务拆分、读写分离、分库)
6.架构分布式+大数据阶段:水平扩展(更多Web服务器、更多SLB、分布式缓存、分布式数据库)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/403116
推荐阅读
相关标签
  

闽ICP备14008679号