[特殊字符] AWS 区块链交易系统架构结案白皮书

1. 业务场景定义

场景描述:用户 Alice 在某头部交易所 APP 发起一笔 10 ETH 的提现请求,目标地址为您的平台为您分配的充值地址。您的平台检测到大额入账后,自动通知用户并触发资金归集流程。


2. 第一阶段:发送侧架构流程 (The Departure)

逻辑:交易所内部系统响应用户请求,完成风控、签名,并将交易广播到区块链网络。

  • Step 1.1 流量接入与防护

    用户点击"提现" \\rightarrow 请求经过 AWS WAF (拦截恶意 IP/CC 攻击) \\rightarrow 进入 ALB (负载均衡与 SSL 卸载) \\rightarrow 转发至 EKS API Pod (业务网关)。

  • Step 1.2 业务风控与编排

    EKS API Pod 冻结用户 RDS 余额 \\rightarrow 触发 AWS Step Functions (启动提现风控工作流)。

    • Step Functions 逻辑:自动检查用户异地登录情况、今日累计提现额度。
  • Step 1.3 安全签名 (离线)

    风控通过 \\rightarrow Step Functions 调度 EKS Signer Pod (签名服务) \\rightarrowAWS Secrets Manager 读取节点 API Key \\rightarrow 调用 AWS KMS 使用私钥对交易哈希进行签名 (Private Key 从不离开 KMS 硬件安全模块)。

  • Step 1.4 交易广播 (上链)

    EKS Signer Pod 拿到签名后的 Hex 数据 \\rightarrow 通过 RPC 接口 (eth_sendRawTransaction) 发送给 Amazon Managed Blockchain (AMB) 节点 \\rightarrow AMB 将交易广播至公网区块链 P2P 网络。


3. 第二阶段:接收侧架构流程 (The Arrival)

逻辑:您的平台感知链上数据,经过缓冲、处理、入账,最终通知用户并归集资金。

  • Step 2.1 扫链与感知 (Source)

    AMB (您的节点) 同步到包含该交易的最新区块 \\rightarrow EKS Scanner Pod (扫链程序) 通过 RPC (eth_getBlock) 轮询发现该充值交易。

  • Step 2.2 数据缓冲与削峰

    EKS Scanner Pod 将原始区块数据打包 \\rightarrow 生产消息发送至 Amazon MSK (Kafka) 的 deposit-topic 主题。

    • 作用:解耦扫链与记账,防止链上流量洪峰冲垮数据库。
  • Step 2.3 消费与核心记账

    EKS Consumer Pod 消费 MSK 数据 \\rightarrow 开启事务写入 Amazon RDS (增加 Alice 余额) \\rightarrow 同时将交易哈希写入 Amazon OpenSearch (供前端查询交易详情) \\rightarrow 更新 Amazon ElastiCache (Redis) (热数据缓存)。

    • 监控:此时 AWS X-Ray 记录全链路耗时,CloudWatch 监控 MSK 消费延迟。
  • Step 2.4 实时通知 (User Experience)

    EKS Consumer Pod 确认入账成功 \\rightarrow 发布消息到 Amazon SNS \\rightarrow AWS AppSync 收到触发 \\rightarrow 通过 WebSocket 推送至 Alice 的 APP

    • 结果:Alice 手机无需刷新,余额数字自动跳动 +10 ETH。
  • Step 2.5 自动化归集 (Orchestration)

    EKS Consumer Pod 判断金额 (10 ETH) > 归集阈值 \\rightarrow 异步触发 AWS Step Functions (归集工作流)。

    • 流程 :Step Functions \\rightarrow 调用 EKS Signer \\rightarrow KMS 签名 (归集交易) \\rightarrow AMB 广播 \\rightarrow 进入 Wait 状态等待 12 个区块确认 \\rightarrow 成功后更新 RDS 状态。
  • Step 2.6 数据审计 (Audit)

    Amazon RDS 的历史快照导出至 Amazon S3 \\rightarrow 审计人员使用 AWS Glue 爬取数据目录 \\rightarrow 通过 Amazon Athena 直接运行 SQL 查询历史账目,生成财务报表。


4. 最终架构拓扑图

https://mermaid.live/

复制代码
graph TD
    %% --- User Action ---
    User((Alice)) --1.提现请求--> WAF[🛡️ WAF]
    
    %% --- Phase 1: Sender (Exchange) ---
    subgraph Sender_Exchange [Phase 1: 交易所发送侧]
        WAF --> ALB[⚖️ ALB]
        ALB --> API[EKS: API Pod]
        
        API --2.触发风控--> SF_Send[⚙️ Step Functions]
        SF_Send --3.读余额--> RDS_Send[(RDS)]
        SF_Send --4.请求签名--> Signer[EKS: Signer]
        
        Signer --5.取Key--> Secrets[🔐 Secrets Manager]
        Signer --6.签名--> KMS_Send[🔑 KMS]
        Signer --7.广播 RPC--> AMB_Send[🔗 AMB Node]
    end

    %% --- Public Chain ---
    AMB_Send -.->|8. P2P 网络传播 & 挖矿| AMB_Recv[🔗 AMB Node]

    %% --- Phase 2: Receiver (Your Platform) ---
    subgraph Receiver_Platform [Phase 2: 平台接收侧]
        %% Ingestion
        AMB_Recv --9. 轮询 RPC--> Scanner[EKS: Scanner Pod]
        Scanner --10. 写入缓冲--> MSK[📨 Amazon MSK]
        
        %% Processing
        MSK --11. 消费--> Consumer[EKS: Consumer Pod]
        Consumer --12. 记账--> RDS_Recv[(RDS: Ledger)]
        Consumer --13. 索引--> ES[🔍 OpenSearch]
        
        %% Notification
        Consumer --14. 通知--> SNS[📢 SNS]
        SNS --> AppSync[🔄 AppSync]
        AppSync --15. WebSocket 推送--> User_App[📱 Alice's APP]
        
        %% Orchestration (Sweep)
        Consumer --16. 触发归集--> SF_Sweep[⚙️ Step Functions]
        SF_Sweep --17. 归集签名--> KMS_Recv[🔑 KMS]
        SF_Sweep --18. 广播归集--> AMB_Recv
        
        %% Audit & Monitor
        Consumer -.->|Trace| XRay[📊 X-Ray/CloudWatch]
        RDS_Recv -.->|Archive| S3[🗄️ S3]
        S3 -.->|SQL Query| Athena[🧐 Athena]
    end
    
    style Sender_Exchange fill:#f1f8e9,stroke:#33691e,stroke-width:2px
    style Receiver_Platform fill:#e3f2fd,stroke:#0d47a1,stroke-width:2px
相关推荐
C澒2 小时前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
C澒3 小时前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架
Max_uuc6 小时前
【C++ 硬核】利用链接器魔法 (Linker Sections) 实现“去中心化”的自动初始化与插件系统
去中心化·区块链
devmoon6 小时前
在 Polkadot 上部署独立区块链Paseo 测试网实战部署指南
开发语言·安全·区块链·polkadot·erc-20·测试网·独立链
皮卡丘不断更6 小时前
告别“金鱼记忆”:SwiftBoot v0.1.5 如何给 AI 装上“永久项目大脑”?
人工智能·系统架构·ai编程
傻小胖6 小时前
22.ETH-智能合约-北大肖臻老师客堂笔记
笔记·区块链·智能合约
成茂峰6 小时前
软考高级·系统架构设计师 | 四、信息技术安全知识
安全·信息安全·系统架构·架构设计师
牵牛老人7 小时前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构
行走正道9 小时前
CANN仓库日志系统架构 分级日志与性能开销优化源码解读
系统架构·cann
fendouweiqian11 小时前
AWS WAF(配合 CloudFront)基础防护配置:免费能做什么、要不要开日志、如何限制危险方法
网络安全·aws·cloudfront