Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Elixir: is it good? When to use?

Sobolev Nikita
November 11, 2017
58

Elixir: is it good? When to use?

Sobolev Nikita

November 11, 2017
Tweet

Transcript

  1. О чем будет доклад? • Рассмотрим классические варианты использования •

    Перечислим популярные проекты и крупные компании с OTP в проде • Поделюсь субъективным мнением
  2. • Шикарная асинхронность • Отказоустойчивость и надежность • Нагружает все

    ядра CPU • Плохо считает • Мало библиотек Сильные стороны Слабые стороны
  3. • WhatsApp: >50 миллиардов сообщений в день • Facebook: >300

    миллионов пользователей ежесекундно • Discord: >5 миллионов пользователей ежесекундно Сколько людей пользуются?
  4. • OTP хорошо подходит для работы с WebSocket'ами • Хорошо

    прогоняет большие объемы данных • Довольно шустро их сериализует
  5. Web scrapping • Создаем изначальные запросы • На каждую найденную

    ссылку создаем новый процесс • Находим какие-то данные • Результат сохраняем в базу
  6. • mnesia - распределенная документо- ориентированная СУБД, является частью Erlang

    • CouchDB - распределенная документо- ориентированная СУБД • Riak - распределенная key-value СУБД
  7. Для чего не подходит? • Для Data Science • Для

    приложений, где много связок с С++ • Для стартапов • Для Enterprise • Для лендингов
  8. • Проект будет под высокой нагрузкой • Проект будет очень

    много работать с IO • Проект хочется сделать один раз и забыть • Будет много бизнес логики • Проект нужно будет постоянно поддерживать • Будет только средняя нагрузка (и меньше) Да Нет
  9. Полезные ссылки • Список Elixir компаний https://github.com/doomspork/elixir-companies • Список Erlang

    компаний http://erlang.org/faq/introduction.html • How Discord Scaled Elixir to 5,000,000 Concurrent Users https:// blog.discordapp.com/scaling-elixir-f9b8e1e7c29b • Как выглядит архитектура WhatsApp? https://habrahabr.ru/post/276951/ • Elixir и Финтех: http://elixir-lang.moscow/events/4/talks/elixir-i-fin- tech • CouchDB does not want to be you database, it wants to be your website: https://nolanlawson.com/2013/11/15/couchdb-doesnt-want-to-be-your-database- it-wants-to-be-your-web-site/ • Riak — веб-ориентированная система хранения данных https:// habrahabr.ru/post/75202/