Задать вопрос

Подходт ли elixir для highload web-сервиса?

Доброго времени суток, Коллеги!

Хотел бы узнать Ваше мнение по поводу использование Phoenix framework (Elixir) для очень нагруженного web-сервиса.
Сам являюсь фанатом ruby-подхода к разработке, но т.к. его производительным хоть сколько-то не назовешь, выбрал промежуточный вариант в виде PHP 7.1, но пришел к тому, что не вывозит он.. приходится поднимать слишком много инстансов, что бы хоть немного справляться с нагрузкой. Хотел переписать на Crystal, но в последнее время почему-то он заглох.. мало инструментов под него пишут, хотя идея изначально меня очень радовала, но скорее всего причина в реализации garbage collector, которая не позволяет нормально работать с потоками (собственно, как и в самом ruby).

Насколько я понял, elixir больше подходит для реализации производительных websockets..
Может кто сталкивался с ним на продакшене и подскажет что дельное. Может даже не связанного с Elixir.

Спасибо за ваше время и внимание.
  • Вопрос задан
  • 1321 просмотр
Подписаться 4 Оценить 8 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия 1С-программист
    8 месяцев
    Далее
Решения вопроса 1
begemot_sun
@begemot_sun
Программист в душе.
Я ерлангер. Для начала опишите ваш кейс. Просто странички генерировать может кто угодно, где-то это быстрее, где-то это медленнее. Вы вообще можете переписать все на C/C++, летать будет - гарантирую.

По части Erlang/Elixir. По сути это одно и тоже, только в разной обертке. Все это выполняется на Erlang VM.
Cчитаю Elixir в настоящее время больше заточен для веб наличием разного рода либ, типа Феникса или ORM Octo (так кажется?).
В Erlang это более низкоуровневые либы, но и свободы творчества больше.
Есть всякие N2O, Nitrogen и т.п.

Что хорошо в этих языках, так это:
1. Вы можете не использовать сторониие сервисы чтобы хранить состояние. Все может хранится в памяти.
2. Вы легко можете распаралелить работу на несколько ядер (если это позволяет задача). Никакой PHP не даст тут такой гибкости.
3. Вы можете быть уверены в надежности. Можете контроллировать когда приложение будет падать, а когда нет.
4. Ну всякие бенчмарки: www.ostinelli.net/a-comparison-between-misultin-mo...
5. Да еще. Erlang/Elixir-приложуху можно прозрачно кластеризовать на несколько машин, конечно она должна это поддерживать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽