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


Пример использования: реализация шаблона DIY Saga
Работа над архитектурой, управляемой событиями, - одно из самых приятных занятий для инженеров-программистов: потрясающе видеть, сколько простых действий взаимодействуют друг с другом, формируя новые модели поведения и совершая волшебство. Шаблон саги - это элегантный способ разработки долгосрочных распределенных транзакций в стиле BASE , способствующий масштабируемости и устойчивости в распределенных, реактивных системах, которые могут позволить себе огромные рабочие нагрузки, при..

Простая балансировка нагрузки с помощью Nginx
Nginx. Как вы это произнесете? Ха-ха, на самом деле это произносится как «Двигатель Х». Я уверен, что если вы приехали из такой неанглоязычной страны, как я, вы сначала ошиблись. Но ничего страшного, я честно считаю, что лучше произносить это слово просто «нгинкс»: D Итак, вернемся к нашей теме - балансировке нагрузки. По данным сайта Nginx - « Балансировка нагрузки означает эффективное распределение входящего сетевого трафика между группой внутренних серверов, также..

Изучение языка го
По какой-то причине в этом году я решил бросить себе вызов и пройти все курсы CPSC, которые кажутся пугающими. В прошлом семестре я прошел курс параллельных вычислений, и мне было очень весело работать с Erlang и CUDA, в этом семестре я прохожу курс по распределенным системам и работаю с Golang. Итак, я решил проверить это во время зимних каникул, прежде чем семестр снова станет занятым. Это был мой первый раз, когда я действительно работал с Go, и это очень освежает, так как прошло..

Новая безопасная песочница JavaScript
По оценкам Gartner, к 2020 году к Интернету будет подключено 50 миллиардов устройств. Большинство из этих компьютеров, мобильных устройств и устройств Интернета вещей будут бездействовать 80% времени. Хотя количество простаивающих компьютеров постоянно растет, алгоритмы искусственного интеллекта (AI) и машинного обучения (ML) потребуют беспрецедентного увеличения спроса на вычислительные ресурсы. Мы разработали глобальную платформу суперкомпьютеров нейронных сетей под названием..

Готовые и доступные распределенные системы
Когда большинство людей говорят о распределенных системах, они могут сделать определенные предположения о том, как система функционирует. Например, мы обычно можем (безопасно) предположить, что распределенная система - независимо от сложности ее настройки или архитектуры - может использоваться ее пользователями. На первый взгляд это может показаться очень очевидным, но чем глубже мы углубляемся в распределенные системы, тем чаще мы сталкиваемся с ситуациями, когда наша система на самом..

Гипотеза RUM
Гипотеза RUM утверждает, что мы не можем разработать метод доступа к системе хранения, который был бы оптимален во всех следующих трех аспектах — чтение, обновление и память. Гипотеза предполагает, что мы всегда должны торговать одним, чтобы сделать два других оптимальными, и это делает три составляющих конкурирующего треугольника, очень похожего на известную теорему CAP . Метод доступа Доступ к данным относится к возможности доступа и извлечения данных, хранящихся в системе..

Как создать инкрементный глобальный уникальный идентификатор в распределенной системе?
Вы когда-нибудь задумывались, как реализовать getUUID ? Мы часто устанавливаем случайные идентификаторы для записи в таблицу. Самый распространенный способ — создать файл UUID.randomUUID . Однако многие языки программирования и облачная инфраструктура предоставили нам UUID, и иногда мы воспринимали эту функцию как должное. Что такое глобально уникальный идентификатор? Глобальный уникальный идентификатор — это функция, которая будет генерировать разные выходные данные каждый раз,..