Re[15]: WA: 3 млн tcp соединений на одном сервере
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.05.25 04:56
Оценка:
Здравствуйте, SkyDance, Вы писали:

N>>Алиас процесса — чтобы не расширять межнодовый протокол? Так почему бы не расширить его?


SD>Чтобы не менять гарантии очередности доставки сообщений. Если один процесс отправляет другому сообщения А и Б в этом порядке, этот самый другой процесс должен получить сообщения именно в этом порядке. Алиас, однако, имеет другой идентификатор — то есть это другой процесс. Волки сыты, овцы целы.


Если те же самые гарантии присутствовали бы для комбинации {процесс, номер очереди}, при том, что вся старая инфраструктура пользовалась бы номером 0 — точно так же было бы "волки сыты, овцы целы", зато без костыля.

N>>_Для начала_ можно было сделать и такую реализацию, по которой все очереди вначале равномерно проходятся, насколько хватает их глубины, в поисках нужного паттерна, а каждый следующий поиск начинается с очереди следующей по кругу за той, на которой закончили. Это точно так же дало бы полноценный эквивалент с равномерным выбиранием из всех очередей. После этого уже играться с синтаксисом.

SD>Так это на любой чих будет full scan всех очередей, и тогда selective receive optimization более не будет работать так, как он работал раньше.

Selective receive optimization можно было бы и сохранить, хотя бы для очереди 0. Она не мешает.

SD>Что-то натворить без обеспечения обратной совместимости — дело нетрудное. Куда сложнее действовать в рамках существующих ограничений.


Я именно такое и описываю.

N>>Ну абсолютные цифры меня не очень волнуют, а вот относительные — для общей группы ниш — резко упали. Но я подозреваю, что и в абсолютных не всё гладко.

SD>Другого и не ожидалось. Чтобы экосистема росла, нужно вливать в нее олимпиарды денег. Можешь быть уверен, если Гугл сейчас скажет "окей, поиграли в Го, и хватит", и закроет Го к чертям, через 10 лет Го будет примерно там же, где Эрланг сейчас. Ты еще Хаскел или ОСамл какой в пример приведи.

Вот потому я и говорю, что когда Erlang был на естественном пике интереса — надо было не изображать из себя царей горы, а слушать, что пользователи просят.

N>>Мне казалось, я старше. Мне по-прежнему многое интересно, хотя половину времени, да, чертыхаюсь от "до чего же всё повторяется".


SD>Я рано начал. Поэтому у меня "таблетка №2" из анекдота ("- Да это ж опять говно! — Отлично, память к пациенту тоже вернулась") стала лейтмотивом где-то к 2018, когда любое нагромождение очередных "прорывных технологий" стало вызывать отторжение из серии "хорошо, ну пусть в гамаке, но лыжи-то зачем".


"Рано" это когда? У меня первые ещё фактически игры были в ≈13. Но мне всё равно нравится не только когда что-то работает, но и наблюдать, как именно не работает
The God is real, unless declared integer.
Re[16]: WA: 3 млн tcp соединений на одном сервере
От: Sharov Россия  
Дата: 22.05.25 12:08
Оценка:
Здравствуйте, netch80, Вы писали:

N>>>Ну абсолютные цифры меня не очень волнуют, а вот относительные — для общей группы ниш — резко упали. Но я подозреваю, что и в абсолютных не всё гладко.

SD>>Другого и не ожидалось. Чтобы экосистема росла, нужно вливать в нее олимпиарды денег. Можешь быть уверен, если Гугл сейчас скажет "окей, поиграли в Го, и хватит", и закроет Го к чертям, через 10 лет Го будет примерно там же, где Эрланг сейчас. Ты еще Хаскел или ОСамл какой в пример приведи.
N>Вот потому я и говорю, что когда Erlang был на естественном пике интереса — надо было не изображать из себя царей горы, а слушать, что пользователи просят.

Он вроде всегда был нишевым и создавался таким. Такой себе DSL для высоких нагрузок\ сетевых приложений.
Разве нет? Он и в своем домене потерял актуальность, типа Го или Rust его вытеснили?
Кодом людям нужно помогать!
Re[17]: WA: 3 млн tcp соединений на одном сервере
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.05.25 12:11
Оценка:
Здравствуйте, Sharov, Вы писали:

N>>Вот потому я и говорю, что когда Erlang был на естественном пике интереса — надо было не изображать из себя царей горы, а слушать, что пользователи просят.

S>Он вроде всегда был нишевым и создавался таким. Такой себе DSL для высоких нагрузок\ сетевых приложений.

Тогда его можно было доработать и сильно расширить область применения.

S>Разве нет? Он и в своем домене потерял актуальность, типа Го или Rust его вытеснили?


Да, заметно вытеснили. И то, о чём я спорил весь тред — что заметную роль в этом сыграла тупая ригидность команды развития.
The God is real, unless declared integer.
Re[17]: WA: 3 млн tcp соединений на одном сервере
От: Великий Мессия google
Дата: 22.05.25 12:39
Оценка: 5 (1)
эрланг был незаменим только в некоторых моментах
горячая замена кода(типа банки, пока что то работает, менять на лету другое)
и отказ от обслуживания(типа управления самолетами аля бортовые системы, когда не работоспособность какого то функционала не роняет всю систему)

сейчас эту нишу заняли(вытесняют) микросервисы

хайлоад в эрланге никогда не позиционировался
с этой ниши его легко можно было выбить чем угодно
Re[18]: WA: 3 млн tcp соединений на одном сервере
От: Sharov Россия  
Дата: 22.05.25 12:49
Оценка:
Здравствуйте, Великий Мессия, Вы писали:

ВМ>эрланг был незаменим только в некоторых моментах

ВМ>горячая замена кода(типа банки, пока что то работает, менять на лету другое)
ВМ>и отказ от обслуживания(типа управления самолетами аля бортовые системы, когда не работоспособность какого то функционала не роняет всю систему)
ВМ>сейчас эту нишу заняли(вытесняют) микросервисы
ВМ>хайлоад в эрланге никогда не позиционировался
ВМ>с этой ниши его легко можно было выбить чем угодно

Ясно, а что такого уникально в отказе в обслуживании, вроде обработка исключений есть во всех языках?
Кодом людям нужно помогать!
Re[19]: WA: 3 млн tcp соединений на одном сервере
От: Великий Мессия google
Дата: 22.05.25 12:57
Оценка: 10 (1)
что делать с сигфолтом когда летит весь бинарь?

эрланг виртуальная машина

то же что и ява, только ява это один контрол флов

а эрланг это если грубо — раскидывания каждой операции на разных акторов
Re[16]: WA: 3 млн tcp соединений на одном сервере
От: SkyDance Земля  
Дата: 22.05.25 17:14
Оценка: 5 (1)
N>Если те же самые гарантии присутствовали бы для комбинации {процесс, номер очереди}

Задача как раз состояла в том, чтобы очередь осталась одна. Как только очередей становится много, это полностью меняет сложность языка и работы с ним. Таково мнение OTP board, и я с ним согласен.

N>Я именно такое и описываю.


Нет, не такое. Ты про множественные mailbox'ы. Я обсуждал это направление много-много раз, но, действительно, эта фича ведет к резкому росту сложности (как реализации receive, так и когнитивной нагрузке при написании кода таких процессов).

N>Вот потому я и говорю, что когда Erlang был на естественном пике интереса — надо было не изображать из себя царей горы, а слушать, что пользователи просят.


Эрланг никогда не был на "пике естественного интереса". Рекомендую послушать доклады с конференций, "откуда вообще взялся Эрланг". Это был исключительно внутренний проект компании Ericsson, для того, чтобы создавать надежные системы для (тогда) телефонии. То, что телефония и интернет оказались практически одним и тем же, — что ж, этого никто заранее знать не мог.

Если бы в 1998 году Эрланг не опен-сорснули, сейчас бы вообще ничего не было (и WhatsApp-сервер был бы написан на какой-нибудь Java). Никто и никогда не пытался продвигать Эрланг как язык и экосистему. Но сама технология оказалась чертовски хороша, так что случайный (но очень плодовитый) человек Jose Valim захотел сделать RubyOnRails правильно — и таки сделал, назвав это Elixir'ом.

Но стоит понимать, что команда ОТР — крошечная (7 человек на системные вещи, вроде ВМ и стдлиб, и еще 7 на "все остальное"). И их основные заказчики — внутренние (в Эрикссон). Ожидать, что они будут "в свободное от работы время" пилить что-то еще — как минимум неразумно. Я не знаю размер команды Го в Гугле, но знаю, что Свифт в Эппл толще на порядок.

N>"Рано" это когда? У меня первые ещё фактически игры были в ≈13. Но мне всё равно нравится не только когда что-то работает, но и наблюдать, как именно не работает


В 13 я уже написал целый графический редактор под винду. Почти Paint. И сделал я это на компьютерах в школе и в мореходке (Мурманск, эта мореходка потом была была переименована в МГАРФ, Мурманская Государственная Академия Рыбопромыслового Флота, и потом — в МГТУ, Мурманский Государственный Технический Университет). А лет с 8 или 9 я вовсю пилил программы на калькуляторе МК-61 (том самом, который от розетки работал, но мог и от батареек, только недолго). Польскую нотацию я с тех пор и помню. "Положить в стек 2, положить в стек 4, вызвать операцию суммирования". Круть
Re[18]: WA: 3 млн tcp соединений на одном сервере
От: SkyDance Земля  
Дата: 22.05.25 17:16
Оценка:
ВМ>сейчас эту нишу заняли(вытесняют) микросервисы

Микросервисы — ортогональны, идея устроить orgchart в коде не имеет отношения к парадигмам языка программирования.

ВМ>хайлоад в эрланге никогда не позиционировался


Это soft realtime, который как раз нужен во всех коммуникациях. Телеком-язык.
Re[20]: WA: 3 млн tcp соединений на одном сервере
От: Sharov Россия  
Дата: 22.05.25 17:40
Оценка:
Здравствуйте, Великий Мессия, Вы писали:

ВМ>а эрланг это если грубо — раскидывания каждой операции на разных акторов


А Akka не подойдет?
Кодом людям нужно помогать!
Re[21]: WA: 3 млн tcp соединений на одном сервере
От: Великий Мессия google
Дата: 22.05.25 18:05
Оценка:
[здесь был большой ответ который пропал из за 404]

кажется что нет, хотя акку изнутри я не знаю
но насколько вижу, акка это фрейм ворк

а в эрланге это заложено на уровне языка(языковых конструкций)
Re[17]: WA: 3 млн tcp соединений на одном сервере
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.05.25 18:14
Оценка:
Здравствуйте, SkyDance, Вы писали:

N>>Если те же самые гарантии присутствовали бы для комбинации {процесс, номер очереди}

SD>Задача как раз состояла в том, чтобы очередь осталась одна. Как только очередей становится много, это полностью меняет сложность языка и работы с ним.

Верно, происходит существенное упрощение в сложных ситуациях — за счёт незначительного усложнения в простых.

SD> Таково мнение OTP board, и я с ним согласен.


Жаль.

N>>Я именно такое и описываю.


SD>Нет, не такое. Ты про множественные mailbox'ы. Я обсуждал это направление много-много раз, но, действительно, эта фича ведет к резкому росту сложности (как реализации receive, так и когнитивной нагрузке при написании кода таких процессов).


Никакого резкого роста сложности нет.
Уже в простейшем варианте, когда из всех очередей по кругу выбираются сообщения, соответствующие шаблону, без приоритетов, но отправка сообщений происходит согласно ожидаемым очередям — например: 0 для обычных info, cast и прочих по умолчанию, 8 для ответов на gen_call, 9 для всяких 'EXIT' — усложнения нет, а избавление от нерегулируемых заторов — есть.
Дальше уже можно думать о приоритетах, выборе из одной очереди и т.п. — но даже такой старт уже решил бы обсуждаемую проблему. "Когнитивные проблемы" типа необходимости выбирать только из конкретной очереди или двух, пока синхронно ждёшь ответ на запрос — это для младшей группы ясель. Или OTP Board и представляет собой именно такую? Иногда создаётся таки впечатление...

N>>Вот потому я и говорю, что когда Erlang был на естественном пике интереса — надо было не изображать из себя царей горы, а слушать, что пользователи просят.

SD>Эрланг никогда не был на "пике естественного интереса". Рекомендую послушать доклады с конференций, "откуда вообще взялся Эрланг". Это был исключительно внутренний проект компании Ericsson, для того, чтобы создавать надежные системы для (тогда) телефонии.

Это не имеет никакой связи с вопросом. В период приблизительно 2005-2012 к нему был интерес сильно выше этого, надо было им пользоваться.

SD>В 13 я уже написал целый графический редактор под винду. Почти Paint. И сделал я это на компьютерах в школе и в мореходке (Мурманск, эта мореходка потом была была переименована в МГАРФ, Мурманская Государственная Академия Рыбопромыслового Флота, и потом — в МГТУ, Мурманский Государственный Технический Университет). А лет с 8 или 9 я вовсю пилил программы на калькуляторе МК-61 (том самом, который от розетки работал, но мог и от батареек, только недолго). Польскую нотацию я с тех пор и помню. "Положить в стек 2, положить в стек 4, вызвать операцию суммирования". Круть


Ну у меня как-то похоже, но на пару лет позже по возрасту. Спасибо за рассказ
The God is real, unless declared integer.
Отредактировано 22.05.2025 18:21 netch80 . Предыдущая версия .
Re[22]: WA: 3 млн tcp соединений на одном сервере
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.05.25 18:17
Оценка: +1
Здравствуйте, Великий Мессия, Вы писали:

ВМ>[здесь был большой ответ который пропал из за 404]


ВМ>кажется что нет, хотя акку изнутри я не знаю

ВМ>но насколько вижу, акка это фрейм ворк

ВМ>а в эрланге это заложено на уровне языка(языковых конструкций)


Практически это не даёт неустранимой разницы.
The God is real, unless declared integer.
Re[21]: WA: 3 млн tcp соединений на одном сервере
От: SkyDance Земля  
Дата: 22.05.25 20:56
Оценка: 5 (1)
S>А Akka не подойдет?

Akka — это как раз результат попытки сделать Erlang на Java Ну и Swift Distributed Actors (от того же автора, Конрада, я с ним немного знаком).
Re[18]: WA: 3 млн tcp соединений на одном сервере
От: Великий Мессия google
Дата: 22.05.25 21:01
Оценка:
SD>>В 13 я уже написал целый графический редактор под винду. Почти Paint. И сделал я это на компьютерах в школе и в мореходке (Мурманск, эта мореходка потом была была переименована в МГАРФ, Мурманская Государственная Академия Рыбопромыслового Флота, и потом — в МГТУ, Мурманский Государственный Технический Университет). А лет с 8 или 9 я вовсю пилил программы на калькуляторе МК-61 (том самом, который от розетки работал, но мог и от батареек, только недолго). Польскую нотацию я с тех пор и помню. "Положить в стек 2, положить в стек 4, вызвать операцию суммирования". Круть

N>Ну у меня как-то похоже, но на пару лет позже по возрасту. Спасибо за рассказ



фигли вы старички
я даже спаял программатор, который сейвил и загружал программы с/на MK61 c/на обычную кассету на магнитной ленте
схема была в журнале РАДИО, год только подзабыл, 87 наверное
Re[19]: WA: 3 млн tcp соединений на одном сервере
От: SkyDance Земля  
Дата: 22.05.25 21:10
Оценка:
ВМ>схема была в журнале РАДИО, год только подзабыл, 87 наверное

88
В гугле легко находится, например, здесь: http://www.nedopc.org/forum/viewtopic.php?t=10181&start=30

В моем случае смысла в этом не было, т.к. магнитофон в семье был всего один. Поскольку мы жили 3 поколениями в одной квартире (бабушка, мама-папа, мамин брат, я и мой брат), разумеется, никто бы мне не дал использовать магнитофон для такого вот "развлечения".

UPD: однако, могу был неправ. Если верить гуглу, программаторов для МК-61 было несколько. Вполне возможно, что и в 87 тоже была публикация.
Отредактировано 22.05.2025 21:12 SkyDance . Предыдущая версия .
Re[18]: WA: 3 млн tcp соединений на одном сервере
От: SkyDance Земля  
Дата: 22.05.25 21:42
Оценка:
N>Верно, происходит существенное упрощение в сложных ситуациях — за счёт незначительного усложнения в простых.
N>Никакого резкого роста сложности нет.

Сдается мне, это субъективное мнение. Поэтому, как мне кажется, сколько бы мы ни приводили аргументов, все равно останемся "при своих".

Еще тонкий момент, — возможно, что множественные очереди и в самом деле существенно лУчшее решение. И если б у команды ОТР было бы не 7, а хотя бы 20 человек, они пошли бы именно там путем.

N>Дальше уже можно думать о приоритетах, выборе из одной очереди и т.п. — но даже такой старт уже решил бы обсуждаемую проблему.


Да обсуждали мы этот подход. Но как сделать, чтобы это не снизило производительность (отправки сообщений), я не знаю. Может, еще лет через 5 и такое тоже появится. Это ж всего лишь вопрос ресурсов. Которых у ОТР ну совсем немного. А другие юзеры не шибко горят желанием развивать ОТР. Да что уж там, это стоило мне очень много сил и нервов убедить местечковых властителей судеб (aka менеджеров) в том, что мы должны open-source'нуть всякие супер-ценные штуки (вроде `pg`, `peer`, `hprof` — который теперь `tprof`), а не пилить их в своем темном углу. Обрати, кстати, внимание — за последние 10 лет новых модулей в ОТР почти не добавляли. Но эти три реально используются практически всеми.

  Скрытый текст
Сегодня сдавал полномочия board member, и Peer Stritzinger, тот что GRiSP, сделал мне кучу комплиментов, и пообещал "отомстить", засабмитив модуль `maxim`, когда он придумает, что этот модуль должен делать. Но это должен быть очень важный модуль. Потому что `peer`, который я делал, реально крут, и используется всеми.

Искренне надеюсь, что смогу вернуться в это сообщество. Либо когда окончательно соберусь ловить рыбу на пенсии, либо если за Erlang начнут платить деньги (где угодно кроме facebook'а).


N>Это не имеет никакой связи с вопросом. В период приблизительно 2005-2012 к нему был интерес сильно выше этого, надо было им пользоваться.


Так в это время еще не было Elixir'а (который я считаю диалектом Erlang'а). Как мне кажется, сейчас интерес примерно такой же, просто распределен (фрагментирован).

N>Ну у меня как-то похоже, но на пару лет позже по возрасту. Спасибо за рассказ


Что косвенно указывает на возраст "около 50".
Отредактировано 22.05.2025 21:42 SkyDance . Предыдущая версия .
Re[20]: WA: 3 млн tcp соединений на одном сервере
От: Великий Мессия google
Дата: 22.05.25 22:02
Оценка:
миллион лет прошло
посмотрев на mk61
понял что ошибся
у меня был mk52

блок расширения памяти
который вставлялся сверху
купил уже после того как спаял этот загрузчик

но смысла в нем уже не было
потому что после я уже себе мини компьютер спаял, ОРИОН 128 с доп памятью
Re[19]: WA: 3 млн tcp соединений на одном сервере
От: dsorokin Россия  
Дата: 23.05.25 19:10
Оценка: 14 (1)
Здравствуйте, SkyDance, Вы писали:

SD>Так в это время еще не было Elixir'а (который я считаю диалектом Erlang'а). Как мне кажется, сейчас интерес примерно такой же, просто распределен (фрагментирован).


В качестве небольшого отзыва.

На днях прочитал книгу Джо Армстронга по эрлангу, а сегодня закончил читать "Введение в Elixir". Очень все понравилось. Правда, к эрлангу пытался подступиться еще лет 15 назад, но тогда недоизучил, и кривая жизни свернула потом на хаскель, скалу и F#. А сейчас прямо я в восторге от обеих книг. Когда-то давным давно увлекался прологом, и прологовский синтаксис мне даже нравится — навевает воспоминания о юности. И когда-то в школе прочитал книжку по оккаму — тоже был тогда в полном восторге. Поэтому увидел много знакомых вещей в эрланге, тот же символ (!) для передачи сообщений.

Я так понимаю, меня должен ждать следующий этап? Попробовав эрланг или эликсир в деле, должен немного остыть потом? И, видимо, программируя на эрланге, всегда нужно иметь в виду закон Литтла, потому что здесь это особенно сильно проявляется?

И да, опыт с написанием серверов есть. Только там были C++ и еще скала.

В общем, хотел написать, что полезным делом занимаетесь и очень интересным, развивая эрланг
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.