Кубики
00:00:00Сегодня мы поговорим об архитектуре веб-приложений. В предыдущем видео я упоминал о кубиках в реке и о том, как они могут вам помочь. Сегодня пришло время разобраться, что это за кубики и как они могут вам помочь. Мы также обсудим отличную книгу на эту тему, которую рассмотрим сегодня.
В гостях Девопсы
00:00:25DevOps может помочь вам лучше разобраться в этих кубах, и мы добавим клавиатуру для работы с ними. Наш офис дружелюбный, поэтому свинья также будет поблизости, чтобы пообщаться с командой DevOps и создать отличную атмосферу.
Начинаем с простого. Все на одном сервере
00:00:50В этой главе рассказчик рассказывает о том, как начать с простой настройки размещения всего на одном сервере, и объясняет, что обычно данные и приложения хранятся на одном компьютере. Они также упоминают, что, хотя он может быть и не идеальным, он может выдерживать большие нагрузки.
Кэширование
00:02:20Кэширование - это полезный метод повышения производительности базы данных за счет хранения часто используемых данных в памяти. Это может быть реализовано с использованием таких технологий, как Memcache или Redis, которые обеспечивают различные уровни синхронизации с дисковым хранилищем.
Скидка 60% на хостинг
00:03:50Вы можете получить скидку на хостинг в размере 60%, и если вы в данный момент ищете виртуальный хостинг или сервер, это отличный вариант. Служба поддержки всегда готова быстро ответить на любые вопросы, а также есть возможность бесплатного переноса вашего сайта в течение оплаченного периода с помощью промо-кода "ssv20".
На сколько хватит простого решения
00:04:42Компания Khvostik является спонсором видеоролика, в котором рассказывается о простом решении, способном выдерживать большие нагрузки. Способность выдерживать эти нагрузки зависит от размера машины и качества загрузки. Также упоминается, что клиентам не нужно долго подготавливать данные в базах данных или передавать большие файлы, что облегчает им подключение к другим клиентам.
Внешнее хранилище файлов
00:05:42Добавление внешнего хранилища файлов может быть полезным, особенно если у вас только один сервер и вам необходимо добавить облачное хранилище. Проще хранить такие файлы, как фотографии, в облачном хранилище, а не на вашем собственном сервере, поскольку это экономит место на диске и обеспечивает лучшую синхронизацию.
Выносим базу данных
00:06:42Мы переносим базу данных в облако, но вы по-прежнему хотите повысить надежность. Во-первых, обычно, когда база данных выходит из строя, Паша переносит ее куда-то отдельно, и понятно, что там, где у меня тоже есть база, может происходить какая-то репликация, но я просто оставлю здесь один круг для простоты, тогда вам все равно придется все делать самому
Выносим кэш
00:07:12Мы можем отделить наш кэш (kesh) от основного сервера приложений, используя либо Memcache, либо Redis, и рекомендуется сделать это, поскольку эти выделенные серверы кэширования могут иметь больше оперативной памяти, чем серверы приложений. Это позволяет повысить производительность, поскольку приложениям обычно требуется большое количество экземпляров сервера.
Масштабирование и балансировка нагрузки
00:07:42Вы можете масштабировать свое приложение, добавляя несколько серверов и динамически регулируя нагрузку на систему. Средства балансировки нагрузки обычно используются перед несколькими экземплярами сервера для распределения рабочей нагрузки либо на основе индексов, либо на основе кэширующих прокси-серверов. Это позволяет обеспечить динамическую балансировку системы без ущерба для ее стабильности.
Асинхронные задачи и очереди
00:09:32Асинхронные задачи Современные веб-приложения не могут функционировать без асинхронных задач, таких как кодирование видео или отправка электронных писем, которые загружаются на отдельные серверы для повышения производительности и предотвращения блокировки пользователя.
Реализация очереди Простая реализация очереди может быть выполнена с использованием базы данных, в которой хранятся задачи с их параметрами. Отдельный процесс на сервере выбирает эти задачи из очереди и обрабатывает их. Выбор способа реализации этого зависит от конкретных требований и ресурсов, доступных для целей масштабируемости.
Осторожно Java!
00:14:22Писать на Java удобнее, так как все может быть написано с той лишь разницей, что если вы делаете все это на Java, это немного другой мир, и есть некоторые вещи, которые могут быть интегрированы непосредственно в само приложение. Например, очередь может быть непосредственно встроена в язык Java. Нужно мне это или нет, зависит от моих потребностей.
Поисковый индекс
00:14:42Поисковый индекс - это отдельный сервис, который может быть более удобным в одних случаях и менее удобным в других, но у него есть свои собственные цели. В дополнение к поиску доступен полнотекстовый поиск в базах данных с использованием таких поисковых систем, как Apache Solr или Elasticsearch. Sphinx также может быть другим вариантом индексации.
Сервисы. Внешние и внутренние
00:15:32В этой главе обсуждается концепция услуг, как внутренних, так и внешних. В нем объясняется, что использование внешних сервисов может обеспечить более качественную функцию поиска, а также упоминается, что внутри приложения может возникнуть необходимость в различных типах сервисов. В этой главе предлагается рассмотреть такие варианты, как службы отправки электронной почты или другие пользовательские сервисы для более эффективного выполнения конкретных задач в архитектуре микросервисов.
Потоковая обработка данных
00:17:02Потоковая обработка данных, или потоковое вещание, позволяет вам генерировать и анализировать различные события в реальном времени. С помощью системы потоковой обработки данных, такой как Апач Кафка, вы можете агрегировать, подготавливать и визуализировать эти данные на приборной панели с динамическим обновлением.
Хранилище данных
00:19:12Хранение данных важно для различных действий, регистраций и обработки данных. Иногда вам нужно подготовить более серьезные отчеты, основанные на всех этих данных. Kafka может помочь с хранением и синхронизацией данных различных типов, в то время как Hadoop является популярным примером решения для хранения данных, которое позволяет анализировать большие объемы скопированных данных или данных, основанных на событиях.
Зачем все это? 4 Причины
00:20:56Современная структура поддержки интернет-проектов выгодна тем, что обеспечивает масштабируемость, повышенную надежность системы и предоставляет новые инструменты для бизнес-решений, такие как обработка данных в режиме реального времени и отслеживание.
Правила розыгрыша книги
00:22:12Классическая система, используемая для сегодняшней раздачи книг, не очень современна и ничего не упоминает о кубе. Книга содержит хорошие отзывы, но не слишком подробна из-за того, что ее объем составляет менее 400 страниц. Чтобы принять участие в розыгрыше книги, зрителям необходимо оставить комментарий со ссылкой на свой предыдущий комментарий на этом канале, прежде чем смотреть это видео или предпринимать какие-либо попытки обмана.
Откуда ноги растут
00:23:42Автор упоминает, что будет новое видео с новым розыгрышем и возможностью выиграть еще одну книгу. Идея для этого видео взята из статьи, которую автор получил по электронной почте, и которую они решили не читать, а вместо этого создать видео с кратким изложением каждого компонента, упомянутого в статье.
Ваш опыт?
00:24:12Основные идеи С 2018 года статья набрала 78 тысяч лайков.
Автор просит прислать комментарии и предложения по аналогичным системам или альтернативам для обсуждения в будущих видеороликах.
Автор выражает благодарность своим спонсорам, которые поддерживают их работу.