用户访问网站的流程

假设每一步都找不到,则流程如下

浏览器键入网址
浏览器寻找浏览器缓存
浏览器寻找本地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三次握手:

  1. 客户端发送SYN请求,带着随机的 seq
  2. 服务端收到请求,发送ACK回应,带着ack=seq+1 同时发送SYN请求,带着随机的seq
  3. 客户端收到SYN请求,发送ACK回应,带着ack=seq+1 seq=上一步ack

TCP四次挥手:

  • FIN请求

随后发送http请求
HTTP/HTTPS
如果cdn上有缓存,则直接响应
如果没有,cdn则回源站获取数据,缓存并响应给用户
回源站的过程

  1. waf防火墙,防注入攻击等
  2. 安全组(iptables
  3. 高可用lb (clb、slb
  4. web服务器
    1. 前后端分离
    2. 静态文件直接在nginx服务器获取
    3. 动态文件通过nginx将请求往后抛,经过4层高可用lb,转发给后端服务器
  5. redis(数据库缓存、会话共享 | oss存储 | sersync
  6. 数据库
  7. 然后再一步一步出来

    代码上线流程

    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
    • 占位
  • 批量管理
    • 主要掌握模块