2021 · Hybrid.Chat conversational platform
High availability for a bot runtime that insisted on being in memory
- Situation
- The chatbot platform's runtime holds conversation state in memory, so under high availability any pod restart dropped live conversations.
- Task
- Survive pod churn without rewriting the conversational runtime the product was built on.
- Action
- I checked alternative frameworks, found the same limit, and kept the runtime: sticky sessions, state persisted to Mongo, and Redis pub/sub to close duplicates.
- Result
- The platform ran multi-container with state surviving restarts, and the design documented its failure modes, including those the fix introduced.