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

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

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

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

Спасибо за ваше время и внимание.
  • Вопрос задан
  • 1288 просмотров
Решения вопроса 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-приложуху можно прозрачно кластеризовать на несколько машин, конечно она должна это поддерживать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы