Research_Department_Develop.../ADR_Template.md

1.1 KiB
Raw Blame History

ADR 000X: [简短的决策标题]

  • 状态: [已提议 | 已通过 | 已废弃 | 已取代]
  • 决策人: [姓名]
  • 日期: [YYYY-MM-DD]

1. 背景 (Context)

描述我们需要解决的问题是什么,以及当前的限制条件。 例如:当前的标书生成速度过慢(平均 5分钟因为是同步调用 LLM。并发量上来后服务器阻塞严重。

2. 决策 (Decision)

描述我们决定做什么。 例如:我们将引入 Celery + Redis 实现异步任务队列,将生成任务剥离出主线程。

3. 备选方案 (Alternatives)

我们还考虑了什么方案?为什么没选?

  • 方案 A:使用 Python 原生 asyncio。
    • 原因CPU 密集型任务下 asyncio 表现不佳,且无法跨机器扩展。
  • 方案 B:使用 Kafka。
    • 原因对于当前体量Kafka 运维成本过高Redis 足够轻量。

4. 后果 (Consequences)

决策带来的好处和坏处(权衡)。

  • API 响应时间降至 100ms支持水平扩展 Worker 节点。
  • :增加了运维 Redis 和 Celery Worker 的复杂度;调试异步任务比同步代码困难。