Intro to Stateful Services or How to get 1 million RPS from a single node [ukr]
Stateless є найбільш розповсюдженим підходом для розробки мікросервісів. Цьому є безліч причин, але якщо коротко: дуже просто, дуже надійно та дуже масштабовано. Але як всі ми знаємо - "there is no such thing as a silver bullet". От і ми в компанії зіткнулись з певними обмеженнями даного підходу. Спойлер, Stateless виявився дуже повільним, менш надійним, а також дорожчим.
У своїй доповіді я постараюсь розкрити такі теми:
- Чому ми відмовилися від Stateless підходу на противагу Stateful та як виглядає наша архітектура.
- Як ми будуємо Stateful сервіси: масштабування сервісу, консистентність та синхронізація даних, партиціювання даних.
- Чому Stateless сервіси менш надійні й досить повільні.
- Які є інструменти в наявності для побудови Stateful сервісів.