- Elasticsearch 集群三种状态含义Green(绿色):集群完全健康,所有主分片和副本分片均正常分配并可用。
Yellow(黄色):所有主分片可用,但至少有一个副本分片未分配(常见于节点不足、磁盘水位高或扩容中)。功能正常,但存在单点故障风险。
Red(红色):至少有一个主分片不可用,部分数据无法查询或索引,必须立即介入。
实战补充:
生产环境必须保持 Green。Yellow 常见于滚动重启或扩容,Red 通常是磁盘满、节点失联引起。排查命令:
_cat/shards?v、 _cat/allocation?v
- 块存储、对象存储、文件存储区别类型
典型产品
访问协议
性能特点
典型场景
块存储
云盘、EBS、本地磁盘
iSCSI、FC
高 IOPS、低延迟
数据库、虚拟机系统盘、需要随机读写
文件存储
NFS、阿里云 CPFS、NAS
NFS、CIFS/SMB
目录结构、共享访问
共享文件、开发环境、日志归档
对象存储
OSS、S3、COS
HTTP/HTTPS REST API
海量扩展、成本低
图片、视频、备份、静态网站
核心区别:块存储性能最高像本地盘,文件存储有层次化目录,对象存储无目录、无限扩展、最经济。
- IPSec VPN 与 SSL VPN 区别项目
IPSec VPN
SSL VPN
OSI 层级
网络层(L3)
应用层(L7)
访问范围
全网访问(如内网一体)
精细化控制(具体应用/端口)
客户端
需专用客户端
通常浏览器即可(无客户端模式)
安全性
更高(IP 层加密)
灵活但依赖应用层加密
典型场景
Site-to-Site(分支互联)
远程办公、个人移动接入
选择建议:总部到分支用 IPSec,员工出差访问内网应用用 SSL。
- CPU 使用率不高,但 Load Average 高(例如 0.12, 0.18, 0.21)Load Average 表示 1/5/15 分钟内就绪队列平均进程数。CPU 低但负载高的常见原因:IO 等待高(进程卡在 D 状态,磁盘/网络慢)
大量上下文切换(短生命周期进程多)
锁竞争或内核瓶颈
排查流程:bash
top/htop # 查看 %wa(IO wait)
vmstat 1 # 查看 bi/bo、si/so
iostat -x 1 # 查看 %util
pidstat -d 1 # 查看具体进程 IO
dmesg | grep -i lock # 检查锁问题
- SNAT 与 DNATSNAT(Source NAT):修改源 IP,常用于内网服务器共享公网 IP 上网(后置 NAT)。
DNAT(Destination NAT):修改目的 IP,常用于端口映射、负载均衡(公网请求转发内网,前置 NAT)。
阿里云 SLB 四层就是典型的 DNAT 实现。
- Kubernetes 网络插件对比:Flannel、Calico、Terway插件
网络模型
性能
网络策略支持
适用场景
Flannel
Overlay(VXLAN/HostGW)
中等
不支持
简单场景、对策略要求低
Calico
BGP + IPIP/VXLAN
高
丰富
需要网络隔离、安全策略
Terway
阿里云 ENI 直通
最高
支持
阿里云 ACK、高性能需求
推荐顺序(阿里云环境):Terway > Calico > Flannel
- 中间件常见监控指标中间件
关键指标
Nginx
活跃连接、QPS、5xx 比例、upstream 响应时间
Redis
内存使用、命中率、evicted_keys、慢查询
MySQL
QPS/TPS、慢查询比例、buffer pool 命中率、线程状态
Kafka
lag、消息堆积、broker IO、网络吞吐
JVM
GC 频率/时长、堆内存、线程数、Full GC
建议:Prometheus + Grafana 统一监控,设置分级告警。
- MongoDB 优化、集群、分片、副本集副本集:高可用,主从异步复制,自动故障转移。
分片:水平扩展,数据分布到多个 shard。
优化要点:选择高基数、均匀分布的 shard key
使用覆盖索引
控制文档大小,定期 compact
合理配置连接池
WiredTiger 引擎启用压缩
-
Kubernetes 无感发布与滚动更新滚动更新:默认策略,逐步替换 Pod(maxSurge/maxUnavailable 控制)。
无感发布方式:蓝绿部署(切换 Service 指向新版本)
金丝雀发布(Ingress/ALB 流量权重分流)
服务网格(Istio)实现高级灰度
-
MySQL MHA 高可用及故障案例MHA:主库故障时自动提升从库、修复其他从库 GTID。优点:无需 VIP,切换快(10-30s)
缺点:已停止维护,推荐迁移到 MGR典型故障案例:主库宕机 → MHA 检测 → 选最新从库提升 → 修复其余从库 → 应用切换数据源。
-
Pod 构建过程kubectl 创建资源 → API Server 写入 etcd
Scheduler 绑定 Node
Kubelet 监听到 → 调用 CRI 创建容器
CNI 分配网络
CSI 挂载存储
容器启动 → 探针检测 → Endpoint 更新
-
Linux 系统初始化优化关闭 SELinux 或设为 permissive
提高文件描述符:ulimit -n 1048576
内核参数:net.core.somaxconn=102400、fs.file-max=1048576、vm.swappiness=10
禁用透明大页:transparent_hugepage=never
时间同步:chronyd
安全基线:防火墙最小化、禁用 root 远程登录
-
Nginx 优化:跨域、隐藏版本、性能参数跨域配置:nginx
bash
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Methods "GET,POST,OPTIONS";
add_header Access-Control-Allow-Headers "*";
if ($request_method = OPTIONS) {
return 204;
}
bash
隐藏版本:server_tokens off;性能优化:nginx
```bash
worker_processes auto;
gzip on;
sendfile on;
keepalive_timeout 65;
client_max_body_size 100m;
14. L4 与 L7 负载均衡、OSI 七层、三次握手、四次挥手L4:传输层(IP+端口),性能高,支持 TCP/UDP
L7:应用层(内容路由、HTTPS 终止)
OSI 七层:物理 → 数据链路 → 网络 → 传输 → 会话 → 表示 → 应用三次握手:SYN → SYN-ACK → ACK
四次挥手:FIN → ACK → FIN → ACK(多一次确保半关闭状态数据传输完毕)
15. Linux 三剑客(grep/sed/awk)日志分析常用命令bash
```bash
# 实时查看错误日志
tail -f app.log | grep --color "ERROR\|Exception"
# 统计访问 IP 前10
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10
# 最近一天登录失败统计
journalctl --since "yesterday" | grep "Failed" | awk '{print $11}' | sort | uniq -c | sort -nr
- CDN 与 WAF 区别及部署顺序CDN:内容分发网络,加速静态资源、缓存边缘节点。
WAF:Web 应用防火墙,防御 SQL 注入、XSS、CC 等。
部署顺序:流量 → CDN → WAF → 源站(阿里云推荐此顺序,更好防御 CC 攻击)。
- MySQL 与 Oracle 参数优化、高可用、备份MySQL:高可用:MGR(推荐)/ MHA
备份:xtrabackup(物理热备、支持增量)
关键参数:innodb_buffer_pool_size(70-80% 内存)、innodb_log_file_size、sync_binlog=1
Oracle:高可用:RAC + DataGuard
备份:RMAN(增量、归档)
关键参数:sga_target、pga_aggregate_target
- Kubernetes 核心知识点核心组件:apiserver、etcd、scheduler、controller-manager、kubelet、kube-proxy、CoreDNS
监控:Prometheus Operator + Grafana
日志:EFK 或 Loki
存储:Local PV、NFS、CSI(云盘/NAS)
服务发现:Service + CoreDNS
负载均衡:CLB(L4)→ ALB(L7)→ Ingress