“渝花纪”是一个融合花卉文化展示与线上服务的小程序项目,用户可通过小程序购买鲜花、获取养护知识,并通过后台管理系统进行数据管理与分析。我作为运维及后端开发工程师,负责整体系统架构设计、数据流转及部分前后端开发工作。
1. 系统架构设计
高可用与可扩展架构:采用 Nginx + Keepalived 实现负载均衡及主备切换,后端服务基于 Spring Boot 微服务架构,部署在 Docker + Kubernetes (K8s) 集群中,支持动态伸缩与故障自愈。
2.跨环境数据迁移:将原单实例数据库迁移至RAC
3.数据采集:熟悉web相关数据获取
项目经验:交易库从单实例迁移至Oracle RAC + Python数据采集与校验
项目背景
原有交易系统使用单节点Oracle 11g数据库,随着交易量增长,单实例在并发能力、高可用上存在瓶颈。计划将交易库(核心库,大小约3TB)迁移至两节点Oracle RAC(11g),同时建立迁移全过程的自动化数据采集与健康度监控体系。
我的职责与具体工作
1. 迁移方案设计与预演
设计 RMAN备份 + 增量恢复 为主要迁移路径,结合Data Guard搭建临时备库降低停机时间。
制定回退策略:保留原库快照,迁移失败可直接切回。
在测试环境完成3轮预演,记录每个阶段耗时(备份、传输、应用归档、校验),确定最终停机窗口为2小时。
2. 迁移过程中的关键操作
原库做最后一次全备 + 归档日志持续接收。
在RAC节点上通过NFS恢复控制文件与数据文件,并行应用归档(开启Oracle并行恢复)。
迁移后调整RAC特定参数(undo表空间、services、负载均衡配置)。
配合业务侧修改应用连接串为RAC的scan地址,测试读写分离与故障转移。
3. 基于Python的数据采集与监控
为保障迁移过程可视、可追溯、可量化,我独立开发了一套 Python数据采集脚本集,覆盖以下维度:
采集库性能数据:使用 cx_Oracle 连接源库和目标库,按秒级采集:
当前会话数、活动事务数、每秒redo生成量、归档日志切换频率。
关键表(交易流水表、账户余额表)的行数及最新交易时间戳。
AWR快照中的TOP等待事件、物理读/逻辑读比率。
采集迁移进度数据:
RMAN恢复过程中,通过解析V$SESSION_LONGOPS视图,实时获取数据文件恢复百分比、预计剩余时间。
归档日志应用延迟(备库与主库的SCN差值)。
一致性校验数据采集:
迁移前后分别用Python运行校验SQL(对核心表做COUNT、SUM(交易金额)、MD5(聚合串))。
采集差异记录到CSV文件,并自动比对。
数据持久化与报警:
采集的数据写入 InfluxDB(时序库),通过 Grafana 绘制实时仪表盘(迁移进度条、redo速率、延迟曲线)。
若检测到延迟 > 5分钟或校验不一致,脚本自动发送钉钉报警。
4. 迁移成果
实际停机时间:1小时47分钟(低于计划2小时),数据零丢失。
迁移后RAC压测:TPS从原来的2200提升至3800,故障节点自动切换时间小于30秒。
Python采集脚本累计采集指标项48个,生成7份自动化校验报告,为迁移复盘提供了完整数据支撑。
可兼职时间
可兼职地点
0条评论 雇主评价