Публикации по теме 'distributed-systems'


100 основных концепций проектирования систем, которые должен знать каждый разработчик (часть 10: 91–100)
Это 100 основных концепций проектирования систем, которые вы должны знать как разработчик. Это поможет вам разработать эффективные, отказоустойчивые и масштабируемые системы. Чтобы обеспечить удобочитаемость, я разделю их на несколько сообщений в блоге. Ссылку на предыдущие части можно найти ниже: 100 основных концепций проектирования систем, которые должен знать каждый разработчик (часть 1) Ваш контрольный список для проектирования эффективных,..

Лучшие практики для распределенных транзакций TCC в Go
В этой статье будет представлен полный пример TCC, чтобы дать читателю точное представление о транзакциях типа TCC. Бизнес-сценарий Типичным сценарием распределенных транзакций являются межбанковские переводы, когда А должен перевести средства через банк в Б. Гипотетический сценарий требования состоит в том, что как переводы из А, так и в Б могут быть успешными и неудачными, и что оба перевода в и из банка будут в конце концов добиться успеха или потерпеть неудачу. Существует также..

Знакомство с Apache Kafka?
Apache Kafka изначально был разработан LinkedIn для сбора метрик и журналов из приложения для облегчения отслеживания активности. Теперь Kafka — это распределенное хранилище событий с открытым исходным кодом и платформа потоковой передачи, созданная с использованием Java и Scala, предлагаемых Apache. Apache Kafka позволяет разработчикам создавать в режиме реального времени, управляемые событиями, критически важные приложения, которые поддерживают высокопроизводительные конвейеры..

Фильтры Блума и не только: вероятностное членство на практике
Оптимизация больших систем приносит невероятное удовлетворение. Мало что может быть более захватывающим, чем наблюдение за большим базовым сдвигом в ваших показателях после развертывания нового умного алгоритма. Оптимизация может сэкономить деньги, упростить работу с системами, повысить производительность разработчиков, а иногда и открыть масштаб, который иначе был бы невозможен. В прошлом я писал несколько постов среднего размера об оптимизации балансировки нагрузки. Сегодня я хотел..

Повышение скорости отклика API: использование RabbitMQ для внедрения асинхронной обработки в Node.js
В современных веб-приложениях довольно часто встречаются сценарии, в которых выполнение определенных задач может занять значительное время. Эти задачи часто называют «длительными заданиями» , и они могут варьироваться от сложных вычислений, обработки изображений или данных до ресурсоемких операций, таких как создание отчетов. Эти задачи потенциально могут повлиять на скорость отклика приложения. Таким образом, чтобы обеспечить удобство работы пользователей и быстроту отклика нашего..

Pythonic Supercomputing: масштабирование программ Taichi с помощью MPI4Py
автор: Хайдун Лан Nvidia представила свой GPU-ускоритель Tesla V100, который с тех пор стал обязательной моделью для глубокого обучения, на GTC (GPU Technology Conference) 2017 в Пекине. Именно тогда Дженсен Хуанг, генеральный директор Nvidia, торжественно дал нам самый искренний совет, который долгие годы звучал в наших головах: И все мы знаем, что произошло потом. Несколько интернет-гигантов собрали в своих центрах обработки данных десятки тысяч чипов V100. Искусственный..

7 алгоритмов, которые нужно знать перед следующим собеседованием по проектированию системы
Отлично начните свое следующее собеседование по системному проектированию. В этом посте мы обсудим семь концепций проектирования систем, которые можно использовать для решения проблем проектирования, связанных с распределенными системами. Поскольку эти концепции применимы ко всем типам распределенных систем, они очень удобны во время собеседований по проектированию систем. Вот список концепций, которые мы будем обсуждать: Дерево Меркла Согласованное хеширование Читать Ремонт..