Олег Бунин - Пошаговый алгоритм разработки высоконагруженной системы

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 30

  • @BloobUbloobok
    @BloobUbloobok 8 лет назад +56

    Для потомков:
    Инструменты:
    1. Сервисно-ориентированная архитектура.
    2. Вертикальное масштабирование.
    3. Горизонтальное масштабирование. Не храним состояние, не держим общих узлов.
    4. Отложенные вычисления.
    5. Асинхронная обработка.
    6. Использование толстого клиента.
    7. Кеширование.
    8. Функциональное разделение.
    9. Шардинг.
    10. Виртуальные шарды. Физически сервер еще один, но логически вы уже шардите, а затем по необходимости разносите.
    11. Центральный диспетчер. Логика шардинга.
    12. Репликация.
    13. Партицинионирование.
    14. Денормализация.
    15. Введение избыточности.
    16. Параллельное выполнение. НЕ путать с многопоточным.
    Шаги:
    1. Бизнес-логика. Опишем бизнес-логику будущей системы, включая потенциальные пути развития системы.
    2. Цифры. Посчитаем объемы хранимых данных и скорость их приращения. Выбираем критический путь - хранение, запись или чтение данных?
    3. Деградация. Определить допустимую степень деградации системы.
    4. Данные. Построим схему движения данных и примем решение, какие из особенностей проектируемой системы мы будем использовать.
    5. Схема. Проектируем схему хранения данных.
    6. Ломаем. Ломаем систему и смотрим, что у нас получится.

    • @IgorZimaev
      @IgorZimaev 3 года назад

      Спасибо! #16 - это по сути map/reduce, более привычный термин.

    • @marcelcasey5008
      @marcelcasey5008 3 года назад

      i dont mean to be off topic but does anyone know a way to log back into an Instagram account??
      I was dumb forgot my account password. I would love any tricks you can give me!

    • @elianchandler7525
      @elianchandler7525 3 года назад

      @Marcel Casey instablaster :)

    • @marcelcasey5008
      @marcelcasey5008 3 года назад

      @Elian Chandler i really appreciate your reply. I got to the site through google and Im waiting for the hacking stuff now.
      I see it takes a while so I will reply here later with my results.

    • @marcelcasey5008
      @marcelcasey5008 3 года назад

      @Elian Chandler it did the trick and I now got access to my account again. I am so happy!
      Thank you so much, you saved my account :D

  • @DInfinity3
    @DInfinity3 Год назад

    Спасибо!

  • @suniverse9000
    @suniverse9000 7 лет назад +2

    Отличное видео, всё понятно, спасибо большое! Как раз сейчас занимаюсь разработкой предварительного ТЗ для крупного проекта, но мои видео больше размышления, чем конкретные инструменты :)

  • @k.osiyuk
    @k.osiyuk 7 лет назад +1

    Очень крутой контент от Олега Бунина.

  • @ione88
    @ione88 3 года назад

    В примере с новостями,
    я бы сделал так, что бы у меня было 2 горячие базы.
    если как в примере срок жизни до архива 1 сутки.
    я бы использовал 2 горячие БД. сегодняшняя и вчерашняя.
    я б каждый день создавал новую БД, наполнял бы её новостями за сегодня.
    в конце дня переименовывал бы эту БД во вчерашние новости.
    а другую БД, которая была до этого вчерашними новостями полностью удалял.

  • @say_damir
    @say_damir 9 лет назад +2

    iForum 2013

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад +1

    sharding - дробление, членение.

  • @ventilyator
    @ventilyator 8 лет назад +7

    хорошая лекция
    в принципе все это мне известно, но когда тебе рассказывают вещи, понимание которых совпадает с твоим, твое чсв как-то увеличивается чтоли... :)

    • @alexeystaroverov4804
      @alexeystaroverov4804 7 лет назад +3

      известно много что, а вот конкретно когда скажут: это применяется тут, а это - там, а это - вообще здесь не применимо - совсем другое дело.

  • @МихаилСич-щ2д
    @МихаилСич-щ2д 7 лет назад +1

    Вот слушаешь то с чем столкнулись в 21 веке и понимаешь что мозг человека в принципе работает похожими методами, нейросеть с репликой одинаковой информации в тысячи местах... Правда сервак один)))

    • @superspy2008
      @superspy2008 5 лет назад +2

      сервак не один, а как минимум два, но с разными сервисами. Серверная одна

  • @romangavrilovich8453
    @romangavrilovich8453 5 лет назад +1

    Чего такие тупые вопросы задают, которые к теме не относятся то?
    Особенно убил вопрос про кеш
    Виртуальный шард на каждого пользователя) гениально))

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    virtual [ˈvɜːʧʊəl] мнимый, предполагаемый, обладающий возможностью, действующий.

  • @magomed_official
    @magomed_official 5 лет назад +1

    Лекция для совсем начинающих разработчиков

    • @codingfox
      @codingfox 5 лет назад +12

      ну не скажи

  • @timurkash
    @timurkash Год назад

    По-моему необходимы матмодели, касающиеся вероятности, стоимости оборудования, допустимые деградации. А то может быть заказчик такой, что оборудование на несколько штук баксов, но не прогибается по деградации. Ему говоришь - Чувак! Это невозможно. А он - пофигу - почему?

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    shard [ʃɑːd] осколок, кусочек

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    post [pəʊst] сообщение, размещение, пункт, почта, столб, должность, пост.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    scaling [ˈskeɪlɪŋ] масштабирование, отложение, образование накипи, шелушение, шкалирование, пересчёт, вычисление

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    partitioning [pɑːˈtɪʃnɪŋ] разбиение, разделение, распределение, расчленение, перегораживание, разметка.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    zooming [ˈzuːmɪŋ] масштабирование, увеличение.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    zoom [zuːm] масштабирование, увеличение, масштаб, наезд, сигнал.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 10 месяцев назад

    degradation [degrəˈdeɪʃn] ухудшение, вырождение, снижение