How we built the lightning fast autosuggest for otto.de
summary
OTTO’s autosuggest handles about 3 million visits per day and peaks near 400 req/s with P99 ~20–30 ms. Architecture separates a Kotlin/Spring distribution layer called Prism from Python business nodes called Higgins. Problems include a cache move that caused a 30‑minute outage, catastrophic regex backtracking that spiked CPU, and uncached slow requests. Fixes: async background caching, replace regex with indexOf for headers, and swap the trie for a pruning Radix trie implemented in Python — latency drops and static fallbacks disappear.
AI-written summary · about
chapters (9)
- 0:00Team and vision
- 3:30Monolithic architecture challenges
- 7:45Two-layer architecture with Prism
- 10:13Cache-induced outage debugging
- 15:08Fixing regex backtracking
- 20:25Pruning Radix trie performance
- 24:20Journey recap and current state
- 25:45Key learnings and team success
- 29:57Q&A
related talks
23mThe Faster, The Cheaper
45mSpeeding up Code, Webpages and Teams
57mUnlocking the Power of Hybrid Search: A Deep Dive into Python-Powered Precision
26mPersonalizing User Content - The Power of a Vector & Search DB
28mA Deep Dive into Python-Powered Precision and Scalability
47mHigh perf architecture at Stack Overflow
27mVelocity 2010: Urs Holzle
36mMake It Fast
