Files
slide/decks/gen2D/pages/why-not-x.md
T
wonder f0245e926d
Deploy Slides / build-and-deploy (push) Successful in 1m13s
feat: add 3 creative slides — tech decisions, request tracing, lessons learned
- why-not-x.md: Engineering decision rationale (Go vs Python, SQLite vs PG, etc.)
- request-journey.md: Full HTTP-to-pixel request tracing with timing breakdown
- lessons.md: 4 real engineering pitfalls and how they were solved
- Wire all 3 new pages into slides.md in logical positions
2026-05-30 22:46:23 +08:00

28 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 为什么不用 X?— 技术选型思考
每个选择背后都有取舍
<v-clicks>
<Item title="为什么不用 Python?">
Go 的 goroutine 天然适合并发管线编排。编译型语言部署简单(单二进制),无需管理 venv / 依赖树。Eino 框架是 Go 生态。
</Item>
<Item title="为什么不用 PostgreSQL?">
gen2D 是单实例工具型应用,SQLite 零配置、单文件、ACID 足够。无需额外数据库服务,Docker 部署零依赖。
</Item>
<Item title="为什么不用 Celery / RabbitMQ?">
当前规模下 goroutine + channel 足够。TaskQueue FIFO 串行执行避免 AI API 并发限流问题。RabbitMQ 已在路线图中,按需引入。
</Item>
<Item title="为什么不用 Redis 做缓存?">
请求去重用 `sync.Map` 内存缓存即可,单实例场景无需分布式缓存。Redis 仅用于限流(需要原子操作),不在时自动 fail-open。
</Item>
</v-clicks>
<!--
评委可能会问:为什么不用xx?这个问题展示的是工程判断力——不是用最新的,而是用最合适的。
-->