В Одноклассниках запросы пользователей обслуживает более 200 видов уникальных типов сервисов. Множество этих сервисов используют прием совмещения в одном процессе JVM бизнес-логики и распределенной отказоустойчивой базы данных Cassandra, превращая обычный микросервис в микросервис с состоянием. Это позволяет нам строить высоконагруженные сервисы, управляющие сотнями миллиардов записей с миллионами операций в секунду на них.
В данном докладе мы поговорим о том, какие преимущества появляются при совмещении бизнес-логики и БД, обсудим как состояние влияет на надежность и доступность сервисов, а также обсудим, как этот прием позволил значительно повысить быстродействие наших сервисов.
Но не все базы данных подходят для этого. Мы подробно рассмотрим, какие базы данных подходят для встраивания в ваш следующий микросервис, а какие — нет.