Как работает Elasticsearch

Elasticsearch - это распределенная система поиска и аналитики, которая основана на Apache Lucene, библиотеке поиска и индексации текстовых данных. Elasticsearch предоставляет RESTful API, который позволяет индексировать и искать данные в реальном времени. Под капотом Elasticsearch использует многопоточный подход для обработки данных. Когда вы индексируете документ, Elasticsearch разбивает его на отдельные токены и сохраняет их в инвертированном индексе, который содержит информацию о том, в каких документах и в каких местах встречаются каждый токен. Каждый индекс может состоять из нескольких шардов, которые распределяются по разным узлам в кластере. Это позволяет обрабатывать большие объемы данных и обеспечивает отказоустойчивость. Elasticsearch использует механизм поиска, который основан на векторном поиске. По запросу Elasticsearch выполняет поиск в инвертированном индексе, используя булеву модель поиска и ранжирование результатов. Elasticsearch также предоставляет множество функций агрегации и аналитики, которые позволяют анализировать данные в реальном времени и извлекать ценные инсайты.

Python. Что может пригодиться при разработке с помощью Flask

### app_context Используется для доступа к экземпляру приложения вне запроса. Он позволяет получить доступ к конфигурации приложения, расширениям Flask и другим объектам, которые доступны только на этапе создания приложения. Чтобы использовать app_context в Flask, вам нужно создать экземпляр приложения, а затем создать контекст приложения с помощью метода app.app_context(). После этого вы можете выполнять любой код, который требует доступа к экземпляру приложения.

Профилирование кода на python

code="mine.py" sudo pip install graphviz gprof2dot python -m cProfile -o profile.pstats "$code" gprof2dot -f pstats profile.pstats | dot -Tsvg -o mine.svg

Паттерн Прерыватель (circuit breaker)

Паттерн позволяет «перещелкнуть прерыватель», если в течение определенного периода времени произошло заданное число ошибок, и таким образом обойти медленный сервис, пока проблема не разрешится, и продолжить отвечать на запросы пользователей с максимальной скоростью. ``` import asyncio from datetime import datetime, timedelta

Процесс проектирование IT сервиса

Процесс проектирования архитектуры 0. Разработчик получает относительно проработанную бизнес-фичу в виде дизайна, в котором описаны основные пользовательские сценарии, экраны приложения, которые нужно разработать. Описано каким образом действия должны совершаться 0. Разработчик должен целиком описать архитектуру в точки зрения взаимодействия сервисов в виде RFC. 0. Проектируем все ручки, все endpoint-ы, описываем тела запросов и ответов, расписываем целиком сценарии клиентов, которые должны пользоваться endpoint-ами. 0. Расписываем, что клиенты должны делать в случае если ручка недоступна и