logo

为什么要为每个渠道设置独立的 Channel Processor(如 Email/SMS/Push/In-app)?它们如何实现独立扩缩容、失败重试以及 DLQ(死信队列)?

Why use separate Channel Processors (Email/SMS/Push/In-app), and how do they enable independent scaling, retries, and Dead Letter Queues (DLQ)?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: system-design, reliability

标签: channel-processor, email, sms, push, in-app, retries, dlq, asynchronous-processing

参考答案摘要

TL;DR 按渠道拆分 processor 可以实现 异步处理 与 独立扩缩容 :每个 processor 只消费自己 topic 的消息并对接对应第三方供应商,失败时用指数退避重试,超过重试次数后将消息送入 DLQ 便于人工审查和补偿。 为什么要拆分 不同渠道吞吐、延迟与失败特性不同(SMS vs Email vs Push)。 可独立扩缩容:某个渠道高峰时只扩容该 processor。 隔离故...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

为什么要为每个渠道设置独立的 Channel Processor(如 Email/SMS/Push/In-app)?它们如何实现独立扩缩容、失败重试以及 DLQ(死信队列)?

Hardsystem-design

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案