用户访问网站的流程
假设每一步都找不到,则流程如下
浏览器键入网址
浏览器寻找浏览器缓存
浏览器寻找本地hosts文件
网卡根据路由表寻找dns服务器
本地dns没有缓存
本地dns访问根域名dns
根域名dns返回顶级域名dns地址
本地dns访问顶级域名dns地址
顶级域名dns返回二级域名dns
本地dns访问二级域名dns
二级域名dns返回cdn的dns服务器地址
本地dns访问cdn的dns服务器地址获得就近的cdn ip并缓存,返回给浏览器
cdn介绍一种分布式内容分发网络
如果缓存上有数据直接给用户,如果没有CDN缓存会找源站,要数据,缓存,发给用户。
cdn使用(不用看阿里云的cdn。按照官网的提示一步步操作即可
配置的时候端口设置443,打开回源协议,并强制https跳转
控制台查看是否有via响应头,代表走了cdn,
X-Cache了解 HIT/Miss
阿里云的CDN并非把静态资源缓存 到所有节点。缓存到L2层 CDN节点,检查via部分的内容是否有H(hit) 表示预热生效
预热:无到有
刷新:清空并更新
浏览器用ip和默认端口80/443与cdn建立tcp/udp连接
tcp/udp介绍TCP/IP 协议族中的协议
位于OSI第四层 # OSI简介,封包从上往下,解包从下往上,路由器只能拆到第三层
TCP三次握手:
- 客户端发送SYN请求,带着随机的 seq
- 服务端收到请求,发送ACK回应,带着ack=seq+1 同时发送SYN请求,带着随机的seq
- 客户端收到SYN请求,发送ACK回应,带着ack=seq+1 seq=上一步ack
TCP四次挥手:
- FIN请求
随后发送http请求
HTTP/HTTPS
如果cdn上有缓存,则直接响应
如果没有,cdn则回源站获取数据,缓存并响应给用户
回源站的过程
- waf防火墙,防注入攻击等
- 安全组(iptables
- 高可用lb (clb、slb
- web服务器
- 前后端分离
- 静态文件直接在nginx服务器获取
- 动态文件通过nginx将请求往后抛,经过4层高可用lb,转发给后端服务器
- redis(数据库缓存、会话共享 | oss存储 | sersync
- 数据库
- 然后再一步一步出来
代码上线流程
Jenkins利用git插件和密钥认证从远程代码仓库拉取主分支
- github、gitee、gitlab
质量测试
创建任务{自由模式,maven默认,pipline模式} 创建参数,根据部署文档书写脚本用于构建,编译。
接入负载,单节点测试(回滚:软链接)
运维日常流程
通过加密隧道访问堡垒机
堡垒机访问{监控、日志收集、批量管理}
- 监控 zabbix Prometheus 展示:grafana
- 自定义监控流程
- 自定义监控项键值
- 本地测试监控项
zabbix_agent2 -t check.ngx - 远程测试监控项
zabbix_get -s localhost -p 10050 -k check.ngx - web页面添加-监控项-图形-触发器-模板
- 监控维度
- 物理服务器硬件监控
- 系统指标监控
- 服务状态监控
- api监控(web场景) 配合 可以postapi
- 日志收集 ELK
- 占位
- 批量管理
- 主要掌握模块
