
1) 【一句话结论】:为保障交通银行7x24高可用与数据安全,设计系统采用分布式主从多活集群架构,结合传输加密、存储脱敏、细粒度访问控制(RBAC+ABAC),并部署全链路资源监控与智能告警,确保系统稳定运行且数据合规。
2) 【原理/概念讲解】:老师口吻解释关键概念:
3) 【对比与适用场景】:
表格对比主从复制与集群部署:
| 架构类型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 主从复制 | 一主多从,主库写、从库读 | 读写分离,读性能提升;从库异步同步(延迟低),同步同步(强一致性但主库压力) | 读多写少(如数据分析、报表查询) | 从库数量需合理,避免主库压力过大;故障切换时间秒级 |
| 集群部署 | 多主多从,节点负载均衡 | 高并发,容灾能力强,节点可扩展 | 写多读多、高并发场景(如实时交易分析) | 需分布式事务(如两阶段提交)或最终一致性(如Paxos),配置复杂,故障切换时间稍长 |
数据安全措施对比:
| 措施 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 数据加密 | 传输(TLS)、存储(AES-256) | 防泄露、防篡改 | 传输/存储数据 | 密钥管理复杂,需HSM与密钥轮换 |
| 数据脱敏 | 规则引擎动态处理敏感数据 | 保护隐私 | 敏感数据展示(如报表) | 脱敏规则需动态更新,避免误脱敏 |
| 访问控制(RBAC+ABAC) | 基于角色+属性分配权限 | 细粒度控制 | 不同用户访问不同数据集 | 权限配置需灵活,避免权限过度 |
4) 【示例】:用户请求流程伪代码:
def process_user_request(user_id, query):
# 1. 权限检查(RBAC+ABAC)
if not check_access(user_id, query):
return {"code": 403, "msg": "权限不足"}
# 2. 数据获取(从库,异步复制)
data = fetch_data_from_slave(query)
# 3. 脱敏处理(规则引擎,Nacos配置)
desensitized_data = apply_deidentification(data)
return {"code": 200, "data": desensitized_data}
其中,check_access调用权限服务,apply_deidentification调用脱敏规则(如身份证保留后四位)。
5) 【面试口播版答案】(约90秒):
“面试官您好,为满足交通银行7x24高可用与数据安全需求,我设计系统采用分布式主从多活集群架构,结合多层次安全措施和全链路监控。首先,架构上,主从复制实现读写分离,主库负责写操作,从库同步数据并承担读请求,提升读性能;部署多节点集群,通过负载均衡(如Nginx)分发请求,节点故障时自动切换,保障高可用。其次,数据安全方面,传输层用TLS 1.3加密,防止数据传输泄露;存储层用AES-256 GCM加密,保护数据在磁盘中的安全;对敏感数据(如客户身份证、手机号)通过脱敏规则(如身份证保留后四位,手机号隐藏中间四位)处理,仅展示脱敏后数据。访问控制采用RBAC基础权限+ABAC动态权限,按角色分配数据集权限,如分析师只能访问授权数据集,操作日志记录所有访问,存储在Elasticsearch中,便于审计。最后,监控方面,部署Prometheus监控系统,指标包括请求延迟(P99)、错误率、CPU/内存、数据库连接数,当延迟超过500ms或错误率超过1%时,触发邮件+短信告警,确保系统健康。这样设计既能保证系统7x24稳定运行,又能保障数据安全合规。”
6) 【追问清单】:
7) 【常见坑/雷区】: