В этой статье я расскажу о своей попытке использования библиотеки GenStage, а в частности модуля Flow, для реализации одного из алгоритмов биоинформатики. На протяжении последних двух лет я занимался разработкой комплексной системы хранения и поиска результатов метагеномного анализа (метагеномика) углеводородного сырья. Наверное, для многих это китайская грамота. Фактически такой анализ означает выявление всех типов микроорганизмов, обитающих, к примеру, в залежах нефти. Некоторые из этих микроорганизмов, преимущественно бактерии, способны разъедать стальные трубы и создавать множество других неблагоприятных эффектов.
Читать полностью »
Рубрика «GenStage»
Elixir в биоинформатике
2016-12-21 в 8:26, admin, рубрики: Elixir, Elixir/Phoenix, Erlang/OTP, GenStage, Алгоритмы, биоинформатика, функциональное программированиеКак Discord обрабатывает более 1 000 000 push-запросов в минуту с помощью Elixir GenStage
2016-12-15 в 19:21, admin, рубрики: Discord, Elixir, erlang, Erlang/OTP, firebase, GenStage, push-запросы, push-уведомления, xmpp, бэкенд, высокая производительность, обратное давление, Разработка систем передачи данных, сброс нагрузки, Системы обмена сообщениями, Тестирование веб-сервисов, чаты
Discord
Discord испытал небывалый рост. Чтобы справиться с ним, нашему отделу разработки досталась приятная проблема — искать способ масштабирования сервисов бэкенда.
В этом деле мы добились большого успеха с помощью одной технологии, которая называется Elixir GenStage.
Идеальный шторм: Overwatch и Pokémon GO
Этим летом наша система мобильных push-уведомлений стала скрипеть от нагрузки. Чат /r/Overwatch перевалил за 25 000 одновременных пользователей, а чат-группы Pokémon GO возникали повсеместно, так что внезапные всплески потока уведомлений стали серьёзной проблемой.
Читать полностью »