Автор оригинала: Team Python Pool.
Как Instagram Использует Django И Python
“Как href=”https://www.instagram.com” Instagram Instagram использует Django и Python ” – Instagram стал любимым каналом социальных сетей для всех. Вы можете видеть огромное количество постов и профилей, а также болтать в одном месте. href=”https://www.instagram.com” Instagram Instagram использует Django и Python ” – Instagram стал любимым каналом социальных сетей для всех. Вы можете видеть огромное количество постов и профилей, а также болтать в одном месте.
Инстаграм
Однако давайте теперь посмотрим, что находится за кулисами создания Instagram. В этом посте мы узнаем, как наш фреймворк Python и Django играет роль в создании такого мощного инструмента.
Instagram был разработан в Сан-Франциско Кевином Систромом и Майком Кригером. Система работала в маркетинге и начала заниматься инженерией по ночам, чтобы научиться программировать. Он создал прототип приложения идеи, которую первоначально назвал Burbn, которая позволяла людям регистрироваться там, где они находятся, в своем мобильном веб-приложении.
Что такое Джанго?
Django-это бесплатный фреймворк веб-приложений с открытым исходным кодом, написанный на языке Python. Веб – фреймворк-это набор компонентов, которые помогают вам разрабатывать веб-сайты быстрее и проще.
Когда вы создаете веб-сайт, вам всегда нужен аналогичный набор компонентов: способ обработки аутентификации пользователя (регистрация, вход, выход), панель управления для вашего сайта, формы, способ загрузки файлов и т. Д.
Давайте теперь посмотрим, как Instagram использует эти фреймворки Python.
Использование фреймворков Python в Instagram:
Instagram использует Django, который представляет собой веб-структуру Python. Это лучшая структура, которую вы можете изучить. Как дизайнер, если предприятие создано одной группой с самой ранней начальной точки, вы можете без особых натяжек изменить его в любом месте в центре. По правде говоря, Django-это уникальная структура с открытым исходным кодом, состоящая из языка Python, используемого для разработки веб-приложений.
Django упростил дизайнерам сборку множества веб-приложений, веб-страниц и веб-администраций. Instagram появился в 2010 году, и через пару месяцев после этого у них было 1 миллион клиентов. На самом деле, Django был чрезвычайно выгодным соглашением для производства Instagram в нем.
- Django предназначен для того, чтобы помочь разработчикам сделать приложение как можно быстрее.
- Для сообщения об ошибках в Instagram используется Sentry-приложение Django с открытым исходным кодом, написанное командой Disqus. Django ORM управляет базой данных из 5 миллионов пользователей в 2010 году.
- Django-это ядро Instagram.
- Несмотря на огромные 5 миллионов пользователей, управляемых Django ORM, Instagram быстро запускается, потому что он использует интегрированные сервисы Django.
- ФОРМА может быть заменена, если Django достаточно слабо связан. Instagram и Facebook могут внести свой вклад в Django.Забавный факт заключается в том, что все сотрудники Instagram и Facebook могут внести свой вклад в Django.
- Вся эта фантастическая платформа полностью написана на Python. Если быть точным, Instagram представляет собой крупнейшее в мире развертывание веб-фреймворка Django.
Ниже приведены официальные данные, предоставленные Instagram относительно их использования Python.
1 – Трэш и управление данными:
В Instagram у них есть самое большое в мире развертывание веб-фреймворка Django, полностью написанного на Python. Они начали использовать Python рано из-за его простоты, но за эти годы им пришлось сделать много хаков, чтобы сохранить его простым, как мы масштабировали. В прошлом году разработчики попытались отказаться от механизма Python garbage collection (GC) (который восстанавливает память, собирая и освобождая неиспользуемые данные) и получили на 10% больше емкости. Однако по мере того, как инженерная команда и количество функций продолжали расти, росло и использование памяти. В конце концов, они начали терять выгоды, которых они достигли, отключив GC.
Вот график, который показывает, как память росла с увеличением количества запросов. После 3000 запросов процесс использовал ~600 МБ больше памяти. Что еще более важно, тренд был линейным.
Из нагрузочного теста было видно, что использование памяти становится узким местом. Включение GC может облегчить эту проблему и замедлить рост памяти, но нежелательное копирование при записи (COW) все равно увеличит общий объем памяти. Поэтому они решили посмотреть, смогут ли они заставить Python GC работать без COW и, следовательно, накладных расходов памяти.
Из нагрузочного теста было видно, что использование памяти становится узким местом. Включение GC может облегчить эту проблему и замедлить рост памяти, но нежелательное копирование при записи (COW) все равно увеличит общий объем памяти. Поэтому они решили посмотреть, смогут ли они заставить Python GC работать без COW, а следовательно, и с накладными расходами памяти.
2 – Эффективность веб-сервиса:
В настоящее время Instagram представляет собой крупнейшее в мире развертывание веб-фреймворка Django, полностью написанного на Python. Первоначально мы решили использовать Python из-за его репутации простоты и практичности, что хорошо согласуется с нашей философией “сначала сделай простую вещь.” Но ясность может прийти с компромиссом эффективности. За последние два года Instagram удвоился в размерах и недавно превысил 500 миллионов пользователей, поэтому существует острая необходимость максимизировать эффективность веб-сервиса, чтобы наша платформа могла продолжать плавно масштабироваться. В прошлом году мы сделали нашу программу повышения эффективности приоритетной, и в течение последних шести месяцев мы смогли поддерживать рост наших пользователей, не добавляя новых мощностей к нашим уровням Django. В этом посте мы расскажем о некоторых инструментах, которые мы создали, и о том, как мы используем их для оптимизации нашего ежедневного потока развертывания.
Итак, выше приведены некоторые из применений Python в Instagram, мощном инструменте, встроенном в Python.
Должен Читать
Лучшие способы нормализации массива Numpy6 Способов построения круга в Matplotlib7 Способов в Python прописать Первую букву строки