Некоторые особенности архитектуры и инфраструктуры Reddit:
Монолитное программное обеспечение. github.com Приложение Reddit самостоятельно обрабатывает HTTP-запросы, извлекает данные из баз данных и формирует ответ. github.com
Использование двух основных хранилищ данных. github.com Это PostgreSQL и Cassandra. github.com Для некоторых форм хранения данных также применяется ZooKeeper, но его использование на уровне кода опционально. github.com
Применение Memcached. github.com Эта технология используется для ускорения многих форм поиска. github.com
Оптимизация изображений в реальном времени. blog.bytebytego.com Пользователи загружают изображения для своих постов, комментариев и профилей. blog.bytebytego.com Поскольку эти изображения используются на разных типах устройств, они должны быть доступны в нескольких разрешениях и форматах. blog.bytebytego.com
Использование модели ThingDB. github.com Это основной механизм сохранения данных для большинства объектов, связанных с Reddit, например ссылок, комментариев, учётных записей и сабреддитов. github.com
Использование сервера сообщений RabbitMQ. github.com Изменения, которые необходимо выполнить, ставятся в очередь этим сервером и распределяются для обработки внутренним заданиям. github.com
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.