В распределённых системах генерация уникальных ID быстро становится архитектурной задачей: центральная база создаёт узкое место, а переход на UUID может оказаться невозможным из-за унаследованного кода. Разберём рабочий подход с отдельным сервисом, диапазонами идентификаторов и защитой от потери ID при сбоях. Читать далее
В этой статье я расскажу об уроках, которые вынес при работе с многотерабайтными датасетами. Объясню, с какими сложностями столкнулся при увеличении масштабов датасета и как их удалось решить.Я разделил статью на две части: первая посвящена масштабированию на отдельной машине, вторая — масштабированию на множестве машин. Наша цель — максимизировать доступные ресурсы и как можно быстрее выполнить поставленные задачи. Читать далее
Генератор - это особый вид итератора - объекта, который отдает значения по одному за раз. Любая функция содержащая yield является генераторной функцией. При вызове генераторная функция возвращает генератор-итератор или просто генератор. Генераторная функция и генератор - это разные объекты, хотя и связанные друг с другом. Читать далее
Общий процесс перехода с монолитной архитектуры на микросервисную:1. Анализ текущей архитектуры: Оцените текущие монолитное приложение, определите его слабые места и проблемы, которые хотели бы решить с помощью микросервисной архитектуры. Это может включать в себя высокую…