XINFRA 简历技术要点¶
基于项目源码实际实现提炼,每个要点均可深入到函数级别展开
1. 设计并落地生产级 PostgreSQL HA 集群方案¶
基于 Patroni + etcd + HAProxy + Keepalived + pgBackRest 构建 3 节点共置高可用架构。通过 Keepalived unicast 模式实现 VIP 漂移,HAProxy 以 Patroni REST API /primary 健康检查实现读写分离路由;pgBackRest 双仓库(repo1/repo2 分布在不同节点)保障备份冗余。部署流水线经 preflight 静态预检(CPU/内存/磁盘/端口/L2 可达性/VIP 冲突检测)→ 3-Play 编排部署 → final_acceptance 验收(Patroni 健康/3 running + 1 primary/同步复制 2 streaming + 1 sync/etcd 3 members/HAPRoxy 端点/VIP 所有权)三阶段闭环,支持计划切换(patronictl switchover)、滚动重启、控制验收等运维操作。
💡 核心亮点
三阶段闭环部署(预检→部署→验收)+ VIP 漂移 + 读写分离 + 双仓库备份冗余,生产级高可用方案。
2. 实现 Vault Database Secrets Engine 全链路集成¶
对接 HashiCorp Vault 的 AppRole 认证 + Database Secrets Engine,实现数据库凭据全生命周期自动化。通过 RegisterMySQLDatabaseConnection 注册 MySQL 连接(mysql-database-plugin),RegisterDatabaseStaticRole 登记静态角色并校验 skip_static_role_import_rotation 是否生效——在密码仍被 MHA/Archery 等运行链路依赖时,拒绝静默降级为轮换模式,确保凭据安全。内置 token 自动续期(TTL 前 1 分钟刷新)和 401/403 请求重试机制,消除 Vault token 过期导致的间歇性故障。
💡 核心亮点
skip_static_role_import_rotation 校验:当密码仍被运行链路依赖时,拒绝静默降级为轮换模式,保障凭据安全。
3. 构建多协议统一认证网关(SAML 2.0 + OAuth 2.0/OIDC + JWT)¶
从零实现 SAML 2.0 SP:AuthnRequest deflate+base64 编码 → HTTP-Redirect 绑定,SAMLResponse 解析支持加密断言解密(RSA-OAEP 密钥传输 + AES-128/192/256-CBC/GCM 数据加密),SP 元数据 XML 自动生成。同时实现完整 OAuth 2.0 Authorization Code 流程作为 OIDC Provider:OAuth Code 以 Redis SetNX+TTL 存储保证一次性消费,Token 端点按 client 差异化签发(Wayen/CloudDM: HS256 access_token,Archery: RS256 PlatformToken),JWKS 端点暴露 RSA 公钥。JWT 层设计四种 Claims 结构(访问令牌/OAuth Code/OIDC ID Token/平台令牌),支持 HS256/RS256 双算法,Redis 集中吊销。
💡 核心亮点
从零实现 SAML 2.0 SP + 完整 OAuth2/OIDC Provider + 四种 JWT Claims 结构,统一认证网关支持三种 SSO 协议。
4. 实现 Ansible MySQL 全生命周期自动化(11 个 Playbook)¶
覆盖 MySQL 从部署到销毁的完整链路:deploy(参数校验 → MHA 制品安装 → 原子二进制安装[flock 并发锁+SHA256 校验+aria2 多线程] → 账号配置[mktemp+chmod 600+trap 防泄露] → GTID 复制[Clone 全量克隆+server_uuid 重新生成+errant/missing GTID 校验] → MHA 配置 → 健康检查 → 注册回调)、precheck(Python 脚本结构化 JSON 输出)、failover(普通主从切换 + MHA masterha_master_switch 双模式)、config-apply(my.cnf 片段写入 + 逐台滚动重启 + SQL 执行 + root 密码轮换)、decommission(先停从库 → 主库设 read_only → 写下线标记)、rejoin(旧主 Clone 接收 + GTID 复制重建)、purge(校验下线标记 → 验证删除)。MHA 集成包含 deb 包修补(修复 MySQL 8.x 版本解析正则)、ed25519 集群独立 SSH 密钥、故障转移回调脚本。
💡 核心亮点
11 个 Playbook 覆盖 MySQL 全生命周期,原子二进制安装(flock+SHA256+aria2)+ GTID 复制校验 + MHA 故障转移回调。
5. 设计交付调度器状态机与幂等性保障¶
交付系统采用 16 状态状态机(DeliveryTask)+ 幂等键(IdempotencyKey)防重复提交。配额管理通过 ResourceQuota + ResourceReservation 实现业务线级资源预留与释放。PostgreSQL HA 操作引入 14 状态生命周期,支持 AWX Workflow Job 调度、preflight 预检、config 在线变更、control 操作(restart/rolling_restart/switchover)、cleanup 清理等完整运维操作。任务事件流通过 SSE(Server-Sent Events)实现实时进度推送,前端通过 createTaskLogStream 订阅。凭证揭示采用一次性消费模式(pending → revealed → expired),支持 JSON 和 XLSX 两种导出格式。
💡 核心亮点
16 状态状态机 + 幂等键防重复 + SSE 实时推送 + 凭证一次性揭示,交付调度器的可靠性设计。
6. 实现 Receptor 节点自动化供应系统(独立 Worker 进程)¶
独立运行的 Receptor Worker 进程,以可配置并发度(RECEPTOR_PROVISIONING_CONCURRENCY)执行节点供应循环。多阶段管线:pending → prechecking → registering_awx → preparing_artifacts → installing → checking_remote → checking_awx → attaching_instance_group → succeeded,失败分支覆盖 precheck_failed/awx_failed/artifact_failed/install_failed/mesh_unreachable/health_check_failed。SSH 凭据采用 PGP + AES 双层加密(随机 DataKey AES 加密私钥,PGP 公钥加密 DataKey)。制品下载支持多架构(amd64/arm64),内置 SHA256 校验。下线流程独立编排:decommissioning → awx_disabled → instance_group_detached → remote_uninstalling → certificate_invalidated → awx_cleaning。
💡 核心亮点
独立 Worker 进程 + 多阶段供应管线 + PGP+AES 双层加密 + 多架构制品支持,自动化节点生命周期管理。
7. 构建离线制品清单签名校验体系¶
实现 xinfra.artifact-manifest.v1/v2 清单 schema 的完整校验链:Ed25519 签名验证 + SHA256 digest 计算(排除 digest 和 signature 字段)+ source 前缀白名单 + 可达性检查。支持两种清单模式:Evidence Summary(校验 sha256 digest)和嵌入 Ed25519 签名的 manifest。独立 CLI 工具(cmd/artifact-manifest)支持 --manifest、--expected-digest、--key-id、--public-key、--allowed-source-prefix、--reachable-source 参数,校验结果输出 JSON,非 StatusReady 则 exit 2,可集成到 CI/CD 流水线作为门禁。同时实现不可变 APT 快照构建脚本:收集运行时包 → SHA256 校验 → 生成 Packages 索引 → GPG 签名(InRelease + Release.gpg)→ 上传 Nexus,配合幂等性校验脚本确保两次独立演练的 URI 集合和 SHA256 摘要完全一致。
💡 核心亮点
Ed25519 签名 + SHA256 digest + 不可变 APT 快照,离线制品完整性校验的完整方案。
8. 实现 Wayne 服务间 HMAC-SHA256 签名与 RBAC 权限模型¶
服务间调用采用 HMAC-SHA256 签名方案:payload = METHOD\nURI\nTIMESTAMP\nNONCE\nBODY_SHA256,通过 X-Wayne-Service/X-Wayne-Timestamp/X-Wayne-Nonce/X-Wayne-Signature 四个 headers 传递,验签使用 hmac.Equal 常量时间比较防止时序攻击。RBAC 权限模型设计为三级架构:平台级(PlatformRoleBinding → platform_admin)、业务线级(BusinessLineUser owner/member + BusinessLinePermission 细粒度权限)、子系统级(Wayne Namespace Role Binding + Archery Resource/Permission Group)。前端实现四级路由守卫(platformPermission → businessLineMember → businessLineOwner → capability/capabilities),支持权限别名映射(如 machine.view → machine.read + machine.credential.read)。全链路审计日志异步写入,覆盖登录、业务线权限、子系统授权、服务交付四类操作。
💡 核心亮点
HMAC-SHA256 常量时间验签 + 三级 RBAC + 四级路由守卫 + 权限别名映射,完整的安全与权限体系。