Каждое популярное программное обеспечение должно иметь ограничитель трафика. Это предотвращает DDOS-атаку, снижает затраты и предотвращает перегрузку серверов.
Есть несколько каверзных вопросов, которые необходимо учитывать при внедрении ограничителя трафика:
Где поставить ограничитель трафика: на стороне клиента, на стороне сервера, на шлюзе? Алгоритмы ограничения скорости. Есть много алгоритмов со своими плюсами и минусами: Token Bucket, Leaking Bucket, Fixed window counter, Sliding window log, Sliding window counter. Особенности вашего бизнеса определят правильный алгоритм.
Ранее книжный клуб нашей компании изучил отличную книгу:
Martin Kleppmann - Designing Data-Intensive Applications
Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка
Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪
Как обычно, я подготовил краткий обзор и майнд-мапу.
В главе 8 раскрываются проблемы распределенных систем, не связанные с базами данных. Команды разработчиков должны учитывать их при разработке распределенного программного обеспечения.
Неисправности и частичные отказы.
Ранее книжный клуб нашей компании изучил отличную книгу:
Martin Kleppmann - Designing Data-Intensive Applications
Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка
Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪
Как обычно, я подготовил краткий обзор и майнд-мапу.
Глава 5:
Вступление. Как масштабировать приложения. Репликация и партиционирование. Три алгоритма репликации Репликация с одним лидером Лидеры и последователи Синхроная и асинхронная репликация Добавление новых последователей Обработка перебоев в работе узлов Технические реализации и все возможные проблемы Многолидерная репликация Случаи использования, когда это хорошо Обработка конфликтов на запись Три топологии и потенциальные проблемы Репликация без лидера Запись в базу данных, когда узел не работает Кворумы и проблемы с ними Обнаружение одновременных записей и способы разрешения конфликтов Скачать всю майнд-мапу в PDF
Ранее в этом году книжный клуб нашей компании изучил отличную книгу:
Martin Kleppmann - Designing Data-Intensive Applications
Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка
Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪
Как обычно (чтобы лучше усвоить) я подготовил краткий обзор и майнд-мапу.
Глава 1:
Строительные блоки приложений Что такое надежность, масштабируемость и ремонтопригодность. Примеры и определения. Неисправности и отказы Производительность, нагрузка, задержка и время отклика Работоспособность, простота, эволюционируемость Почему вы должны убивать свои сервера случайным образом 😅 Как Twitter доставляет 12 000 твитов в секунду до 300 000 пользователей в секунду.