Google Cloud 超长周期流数据去重高性价比方案咨询
Markdown排版规则
- 标题使用井号(#)标记
- 列表项以短横线(-)开头
- 需要强调的文本用星号(*)包裹
- 代码或命令内容用反引号(`)包裹
- 引用文本使用大于号(>)标记
- 链接格式为方括号包裹链接文本
[],后接小括号包裹的目标URL() - 图片格式为方括号包裹图片替代文本
[],后接小括号包裹的图片资源URL()
Pub/Sub消息超长周期去重方案选型说明
基础部署架构
- 计算载体:VM虚拟机,或适配流量波动的自动扩缩容MIG(托管实例组)
- 消息链路:输入为Pub/Sub拉取订阅,输出为Pub/Sub主题
- 核心实现要求:在计算节点层完成消息去重逻辑
去重规则
输入消息在数年的超长周期内均可能出现重复投递:若消息携带的key(例:
key = "abcde123456789")属于历史已处理过的key,直接ack该消息,不向输出主题发布任何内容;若key为首次出现,则将原消息原样发布到输出主题。
已知业务约束
- 唯一key规模:初始量级在1000万以内,长期将增长至约10亿
- 流量特征:存在明显尖峰,每秒消息量在1~500条区间波动
- 延迟要求:优先选择低延迟方案,端到端延迟不超过30分钟即可满足业务要求
- 核心考核指标:成本效率
- 现有数据基线:所有历史已处理的唯一key均已持久化存储在BigQuery中
已梳理备选方案
- 全量同步方案:一次性将BigQuery中存储的唯一key同步到Memorystore实例,处理每条消息时直接校验对应key是否存在于Memorystore中
- 本地SSD键值存储方案:在持久化SSD上部署持久化键值存储承载key查询,初步评估该方案各维度表现均弱于Memorystore方案
- 定时聚合方案:每30分钟执行一次BigQuery聚合计算完成去重,该方案可满足基础业务要求,但需要探索成本效率更高、延迟表现更好的其他实现路径
内容的提问来源于stack exchange,提问作者stkvtflw
相关产品推荐
相关产品推荐

