@proelixir

Страница 608 из 1045
عاصم بن حارث
04.06.2017
19:29:58
Эрриксон - вот тебе реальный пример из "жизни".

Dmitry
04.06.2017
19:31:04
Эрриксон - вот тебе реальный пример из "жизни".
E///, кстати, не самый лучший пример ) я работал в проектах, где эрланг по сути не был нужен :)

Dmitry
04.06.2017
19:32:03
Ну блин.. ejabberd

Google
Lazzlo
04.06.2017
19:32:14
> соотвественно его имеет применить там, где много параллельных потоков данных, и необходимо обеспечивать гарантированное время ответа Ну тоесть сервера подходят, я правильно пнимаю...

Dmitry
04.06.2017
19:34:14
> соотвественно его имеет применить там, где много параллельных потоков данных, и необходимо обеспечивать гарантированное время ответа Ну тоесть сервера подходят, я правильно пнимаю...
Да какие сервера?! В общем случае подходят... но зачем тебе эрланг, если у тебя сервер хэндлит десяток простых запросов в секунду?

Lazzlo
04.06.2017
19:35:26
Так ведь сервер же, в каком режиме ему ещё работать?

Dmitry
04.06.2017
19:36:26
Обрабатывает... или если у тебя каждый запрос влечёт за собой кучу математических вычислений, и оверхедом от обработки подключений вообще можно пренебречь...

Так ведь сервер же, в каком режиме ему ещё работать?
Миллионы клиентов? Десятки и сотни тысяч запросов в секунду?

Lazzlo
04.06.2017
19:37:26
а сколько?

Столько у сервера обычно и ебашит

Dmitry
04.06.2017
19:38:01
Мне кажется, это троллинг...

عاصم بن حارث
04.06.2017
19:38:18
Lazzlo
04.06.2017
19:38:51
Миллионы клиентов? Десятки и сотни тысяч запросов в секунду?
сколько у типичного сервера запросов и клиетов по твоему??????

Dmitry
04.06.2017
19:42:12
сколько у типичного сервера запросов и клиетов по твоему??????
Что такое типичный сервер? У сервера WhatsApp и корпоративного http сервака нагрузка отличается на несколько порядков... как и то на что они тратят ресурсы...

Lazzlo
04.06.2017
19:42:48
Бля, ясно

Если мне кто-нибудь сможет адекватно объяснить чем обычно занимаються на Erlang это былобы заебись

Google
Alexander
04.06.2017
19:45:55
Заебись не будет

Dmitry
04.06.2017
19:46:01
https://pp.userapi.com/c410829/v410829261/7717/Sbi8ILQKXD8.jpg

Чисто чтобы поддержать уровень дискуссии

Can
04.06.2017
19:51:04
Если ты просто хочешь написать сайт то начни с pho, ruby, python

Lazzlo
04.06.2017
19:51:14
Поэтому я и хочу изучать фп

Can
04.06.2017
19:51:41
Если тебе понадобится написать сайт который держит много онлайн клиентов

Типа

Чат

Камера чат

Типа рунеток

То уже можно думать над эрлангом

Lazzlo
04.06.2017
19:52:41
Оке, спасибо понял

Dmitry
04.06.2017
19:52:42
Да. Только обязательно с девками...

http://erlang-mnesia-video.ru

Dmitry
04.06.2017
20:30:10
Я сегодня за день накидал на фениксе 1.3 работающий прототип средней руки сайтеца. Под капотом твиттер апи с кронированными тасками, монга и постгрес вместе и каналы для отслеживания этих самых тасков

Хотя я до этого писал без контекстов этих - разобраться реально быстро

Так вот это к вопросу о скорости разработки по сравнению с рельсами

Google
Dmitry
04.06.2017
20:31:31
На неделе буду деполить - отпишусь как что

Александр
04.06.2017
21:16:03
Берите http://nats.io/ сами с кролика начинали, потом ебались с кафкой, в итоге попробовали nats забыли вообще про всю боль и очень быстро работает относительно конкурентов.
Почему-то стало модно советовать инструменты, не сообщая для каких задач их использовали и чем не подошли предыдущие... Я считаю что если человек не пользовался ничем, то ему надо инструмент с максимально дружелюбным интерфейсом, который легко ставиться и легко облуживается. А уж потом, если нужно больше производительности, то приходится выбирать что-то менее дружелюбное, но более эффективное. У раббита есть пакеты для известных дистрибутивов, удобная и функциональная веб морда, где видно какие части вашего продукта не справляются и почему (https://www.cloudamqp.com/blog/2015-05-27-part3-rabbitmq-for-beginners_the-management-interface.html). Это же намного удобнее и практичнее ковыряния в консоли и текстовых конфигов. Производительность надо замерять на конкретных задачах, плюс я почитал про NATS, у него нет ручного подтверждения задач, то есть сделать гарантированную доставку сообщений с их гарантированной обработкой (да, есть задачи где после успешного получаения сообщения, воркер может с ним не справится) не особо выполнимо, судя по всему. Потому я предлагаю меньше спрашивать, а взять каждый инструмент и попробовать на своих задачах, начиная с самого дружелюбного (лично у меня раббит для всех задач подошёл).

Если мне кто-нибудь сможет адекватно объяснить чем обычно занимаються на Erlang это былобы заебись
Erlang (Elixir) незаменим когда нужно писать что-то легко масштабируемое и неубиваемое: чаты, обработка видео, брокеры очередей, микросервисы, роботизация, на нём благодаря pattern matching легко и непринуджённо писать драйверы для чужих бинарных протоколов. Само по себе функциональное программирование сильно прочищает мозги и позволяет писать более гибкий и поддерживаемый (а также тестируемый) код на других ЯП. На нём легче писать что-то многопоточное и легче отлаживать проблемы в приложениях чем в других языках. Можно подключиться к работающему приложению, например, и поотправлять различные рапросы в разные части своего приложения, мало какие языки дают такие возможности. С одной ноды можно управлять остальными с одного компьютера (без написания дополнительного кода).

Rumata
04.06.2017
21:44:56
Все так классно описал

Sergey
04.06.2017
21:51:00
Товарищи, как лучше? https://gist.github.com/droptheplot/5671feb74c4fee668783d4570bda154b

Александр
04.06.2017
22:11:27
я бы, наверное сделал так: https://gist.github.com/zloyrusskiy/e3ef3e29b54a0205809525e4022595e7

или как во втором варианте, но убрал бы лишний Enum.empty?

там можно упростить до: case empty_rooms do [] -> nil rooms -> Enum.random(rooms) end

Alexander
05.06.2017
01:38:27
уберу пин, оформление такое, что скорее всего предложение о работе отпугивает.

Так вот это к вопросу о скорости разработки по сравнению с рельсами
вопросы возникают, когда хочется не голой жопой по асфальту. Типа хочется сделать версионирование данных. Идешь такой в hex.pm а там ничего для этого нет. Люди гемы для версионирования годами писали и выдрачивали, а тут по факту нужно самому написать. Хочется bulk_апсертов? Хер то там. Желание собрать эксельку на пару страниц с данными? - пиши с нуля. Поиск через эластик? Нет ничего проще, вот тебе http клиент и обертка из говна и палок на эластик, пиши остальное сам.

уже неоднократно обговаривалось. Эликсир по скорости сборки проекта проседает именно на отсутствии наследия ввиде пакетов на все случае жизни, где уже исправлены кучи багов и хотя бы самые простые грабли отсутствуют.

Константин
05.06.2017
03:23:36
???
это что значит?))

maier
05.06.2017
03:24:00


Константин
05.06.2017
03:24:21
мм.. интересно

спс

maier
05.06.2017
03:25:23
все к кафке хотел подойти, но чтото меня в ней пугало)))) хорошо не придется с ней возиться

Alexander
05.06.2017
03:29:56
ничего так, я честно скажу в кролика перестал верить давным давно, кластер редиса куда шустрее работал даже если пейлоады по 100кб

надо на nats поглядеть

Google
maier
05.06.2017
03:30:13
я на выходных смотрел куда метрики складывать - может кому пригодиться. Яндекс недавно выложил графхаус



Alexander
05.06.2017
03:30:42
после проеметея вообще странно куда-то глядеть

https://prometheus.io/

шустрый как понос

по сути все пытаются переизобрести одно и то же, в итоге у всех в 90% случаев одинаковое говно

maier
05.06.2017
03:32:19
по сути все пытаются переизобрести одно и то же, в итоге у всех в 90% случаев одинаковое говно
маловероятно что кто-то пишет просто ради прикола, есть причина всегда

Admin
ERROR: S client not available

Alexander
05.06.2017
03:33:54
ну парни одни пользовали графит и взяли и написали свою хуету https://github.com/gnocchixyz/gnocchi

на питоне

это была попытка вылечить whisper

maier
05.06.2017
03:34:32
clickhouse лечит

Alexander
05.06.2017
03:34:44
но в итоге самый убогий вариант требует 40+ с хуем воркеров крутить

maier
05.06.2017
03:35:04


там еще будут выпиливать graphite-web так что думаю будет скоро еще один ?)))

Alexander
05.06.2017
03:36:36
я не вижу буфера на входе, в графите одна из первых проблем - отсутствие буфера

maier
05.06.2017
03:37:10
графхаус я так понимаю собирает в кучу и вставляет пачками в кликхаус

On a typical bare-metal server with 64GiB RAM, 32 CPU cores, and SSD, Prometheus sustained an ingestion rate of 900k samples per second, belonging to 1M time series, scraped from 720 targets.

Alexander
05.06.2017
03:37:45
не понять, на графике две больших серых личинки

Google
maier
05.06.2017
03:38:48
почему-то яндекс метрика prometeus не использует

Alexander
05.06.2017
03:39:44
почему-то яндекс метрика prometeus не использует
яндекс метрику делали, когда автор прометея под стол ходил пешком. + стандартная проблема всех программистов: все идиоты кроме меня

Alexander
05.06.2017
03:40:12
наверное половина всех продуктов появляется ровно из-за спп

maier
05.06.2017
03:40:56
я опонирую )
devil advocat))))

Alexander
05.06.2017
03:41:40
я помню, как я усирался по кибане

сейчас после графаны вообще не понимаю, о чем кибана

эволюция мать ее

то чем восхищаемся сегодня - говно уже завтра.

maier
05.06.2017
03:42:41
графана там через graphite-web настраивается кстати, но обещают выпилить))

и напрямую в graphouse обещать запилить, чтобы выпилить graphite-web

то чем восхищаемся сегодня - говно уже завтра.
я помню как офигевал от производительности кролика, потом редиса))) но вот уже nats))

Alexander
05.06.2017
03:44:00
кстати отдельно хочу отметить интересную концепцию федерации для метрик

не так давно познакомился с идеей

Alexander
05.06.2017
03:45:11
когда к примеру у клиентов разных есть свои менеджмент сервера с к примеру прометеями. Но у меня есть основной сервер, который собирает с нижестоящих некий кусок

как бы странно не звучало, но мы тут биллинг делали и эта концепция помогла

https://prometheus.io/docs/operating/federation/

maier
05.06.2017
03:48:40
видимо это чтото типа этого https://clickhouse.yandex/reference_ru.html#AggregatingMergeTree

Александр
05.06.2017
04:12:54
я помню как офигевал от производительности кролика, потом редиса))) но вот уже nats))
ну значит у тебя задачи такие где нужна производительность, но это же не значит что у всех такие задачи. "Больше производительности" обычно равно "меньше функционала".

Страница 608 из 1045