LINUX.ORG.RU

Ergo Framework 3.2

 , , , ,


0

2

Фреймворк представляет собой реализацию концепций Erlang для разработки на Go, построенный на модели акторов с сетевой прозрачностью и готовыми компонентами.

Основные возможности в этой версии

  • mTLS — новый интерфейс gen.CertAuthManager для взаимной аутентификации с управлением CA пулами
  • NAT traversal — опции RouteHost и RoutePort для узлов за NAT или балансировщиками
  • Контроль времени запускаInitTimeout ограничивает время инициализации процессов (локально и удаленно)
  • Shutdown timeout — контролируемое завершение узла с логированием зависших процессов
  • pprof labels — каждая горутина актора маркируется PID для отладки через pprof

Новые акторы (Extra Library)

  • Leader — распределенные выборы лидера с консенсусом в стиле Raft. Автоматический failover, защита от split-brain через кворум большинства
  • Metrics — экспортер метрик Prometheus с автоматическим сбором телеметрии узла и сети

Новые мета-процессы

  • SSE (Server-Sent Events) — однонаправленный стриминг сервер-клиент по HTTP с полной поддержкой спецификации SSE

Производительность

  • Локально: 21M+ сообщений/сек
  • По сети: ~5M сообщений/сек
  • Distributed Pub/Sub: 2.9M сообщений/сек доставка 1,000,000 подписчикам на 10 узлах (10 сетевых сообщений вместо 1M)

Исправления

  • Критический баг: сигналы завершения (Link/Monitor exits) некорректно отклонялись из-за неверной валидации incarnation в сетевом слое

Документация

Полностью переписана и включена в репозиторий. Новые статьи:

  • Project Structure — организация проектов с уровнями изоляции сообщений
  • Building a Cluster — пошаговое руководство по распределенным системам
  • Message Versioning — эволюция контрактов сообщений в кластерах
  • Debugging — build tags, pprof, отладка зависших процессов

Ссылки

>>> Список изменений

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от Lusine

Вестимо… Ирландские пословицы почитай, а это их ближайшие соседи…

У меня сервис непрерывно работает 2031 день, это 5.5 лет 100% доступен (но не из всех регионов) Мне в голову не придет говорить что я могу гарантировать такую доступность… Это скажем так благоприятное стечение обстоятельств. Резервирование по питанию по сети, удачное железо на роутерах которое не умерло за это время и даже не сбойнуло, хорошее резервирование на цоде.

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

chemistmail
()
Ответ на: комментарий от chemistmail

А где истории успеха? Что-то написано на нем? Скажем типа ватсапа или вичат с миллиардами онлайн пользователей?

Lusine
()
Ответ на: комментарий от chemistmail

Твой сервис относится к категории мишнкритикал? А Национальная служба здравоохранения в масштабах государства - да. Поэтому они не могут не гарантировать, их засудят.

Lusine
()
Ответ на: комментарий от Lusine

Полно таких писателей

Назовите хотя бы трёх.

особенно среди евреев.

Выросших в чужой стране, среди чужого народа и с детства разговаривающих на их языке?

ugoday ★★★★★
()
Ответ на: комментарий от Lusine

Лично я вживую видел только проект который пилили 40 разработчиков, распределенная хрень по теме криптовалюты. После года разработки проект еле еле зарелизили, распределеная система, тестировалась на 20 железяках. Рассыпалось, но чет показали для второго раунда инвестирования.

Для второго релиза переписали на акторах все, но если честно я не помню что там брали как основу, это было 8 или 9 лет назад. Второй релиз прошел спокойно, система стабильно работала без проблем. Язык с самого начала тот же golang.

Ну а вообще в вашем вопросе есть ответ )) whatsapp, там не ergo, там был erlang с его OTP…

Но собственно ergo реализует все теже идеи + добавляет свое.

chemistmail
()
Ответ на: комментарий от Lusine

Никто не может гарантировать такую доступность. Везде и все время.

Условно из Манчестера сервис доступен, из Лондона нет. Вопрос, сервис доступен? ))

Мои сервисы относятся к разным категориям, в том числе и мишнкритикал были))

У меня был случай в моей практике, когда в Киргизии лег канал, сам сервис за который я отвечал был доступен, но в Киргизии нет, проблема на их стороне, вне зоны моей ответственности. Пассажирский самолет в аэропорту стоял 4 часа, пассажиры ждали… Пока канал не починили и сервис не стал доступен. ))

chemistmail
()
Ответ на: комментарий от ugoday

Бен-‘Амми Мордехай, Канович Григорий, Ландау Адольф, Люксембург Эли. Дмитрий Вачедин, в Германии живет с 17 лет.

Lusine
()
Ответ на: комментарий от chemistmail

Но категорически не заменяет его. Странно, что ты и остальные не понимаете этого. Как можно язык и платформу более 30 лет использующиеся в промышленности, и проверенную на проектах типа ватсап можно заменять на библиотеку нонейм конторы, которую они выкатили буквально вчера? Теперь у нас такие архитекторы и синьеры? Правильней писать еще один акторный фрейморк, которых как грязи, начиная с той же акка для джавы.

Lusine
()
Ответ на: комментарий от Lusine

Правильней их использовать, я ничего не говорю про выбор именно ergo. Это вопрос на чем вы в принципе реализуете сервис. У эрланга есть один фатальный недостаток, вернее два. Первый он медленный, второй это сам язык, который эрланг. Он простой, но не си подобный, и неожиданно количество людей которые понимают эрланг и вообще функциональщину исчезающе мало….

Проект развивается более 5 лет, у него есть контрибьютеры. За ним нет никакой конторы типа эриксона за эрлангом, это не хорошо и не плохо, это просто так есть.

Кроме эмоций на тему нонэйм есть какие то соображения на тему качества кода или деталей реализации? ))

Я 28 лет в IT, основную массу времени занимаюсь обслуживанием различных проектов и их архитектурой, консультирую, работаю руками и тд. У меня более 10 проектов сейчас, они на разных языках и используют разные архитектуры, есть весьма нагруженные, есть ненагруженные.

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

Ничего плохого и критичного в ergo я не вижу, хорошее вижу.

chemistmail
()
Ответ на: комментарий от ugoday

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

chemistmail
()
Ответ на: комментарий от Lusine

Бен-‘Амми Мордехай,

Место рождения Верховка, Подольская губерния, Российская империя.

И отчего я не удивлён? С остальными примерно так же, исключая господина Вачедина, которому желаю всяческих успехов и популярности (и чтоб статью на википедии ему сделали от/для благодарных читателей).

ugoday ★★★★★
()
Ответ на: комментарий от chemistmail
  1. Медленный для чего? Работает с железом эриксон в жестком реальном времени.
  2. Есть другие языки работающие на этой вм, например эликсир, похож на руби, написали для замены рельс, лисп, какой-то язык с статической типизацией.
Lusine
()
Ответ на: комментарий от chemistmail

У эрланга есть один фатальный недостаток, вернее два. Первый он медленный, второй это сам язык, который эрланг.

Ага, какая неожиданность, что динамическая скриптопараша медленная. А ещё там нет инструментов разработки, потому что это динамическая скриптопараша.

bread
()
Ответ на: комментарий от ugoday

Какие претензии? Взрослый человек родился в России, вырос, получил образование на русском языке, а писал еврейские книги. Другие в СССР. Тот же Люксембург закончил филфак Ташкенского университета, С 1972 г. жил в Израиле.

Lusine
()
Ответ на: комментарий от Lusine

Почитайте что такое hard realtime…. Потом подумайте, может ли язык со сборкой мусора в принципе работать в режиме hard realtime.

И не путайте «hard» realtime с hard realtime. Я вот так сходу из RTOS вспомню только qnx из операционок, и то потому что с ней сталкивался по работе.

chemistmail
()
Ответ на: комментарий от bread

Ну инструменты разработки там есть… Что уж вы так совсем негативщину. Я на нем лет 20 назад писал, еще тогда все было.

chemistmail
()
Ответ на: комментарий от bread

Используется для ембеджет в Линуксе. Управляет железками.

Gleam is a friendly language for building type-safe systems that scale. Gleam comes with compiler, build tool, formatter, editor integrations, and package manager all built in.

Running on the battle-tested Erlang virtual machine that powers planet-scale systems such as WhatsApp and Ericsson, Gleam is ready for workloads of any size. Thanks to its multi-core actor based concurrency system that can run millions of concurrent green threads, fast immutable data structures, and a concurrent garbage collector that never stops the world, your service can scale and stay lightning fast with ease.

The power of a type system, the expressiveness of functional programming, and the reliability of the highly concurrent, fault tolerant Erlang runtime, with a familiar and modern syntax.

Lusine
()
Ответ на: комментарий от Lusine

здорово что ты умеешь гуглить. но это не про знания и опыт.

пс модераторов бы сюда, нафлудили много не по теме

ergo ★★★
() автор топика
Ответ на: комментарий от Lusine

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

ergo ★★★
() автор топика
Ответ на: комментарий от ergo

В разоблачении мифов, что медленный, странный синкасис, нет инструментов для разработчика, и гошечка забарывает его по всем параметрам. Сначала напишите апликухи уровня ватсап, а потом приходите.

Lusine
()
Ответ на: комментарий от Lusine

Он медленный. Я на нем писал. Нормальный у него синтаксис, простой как три копейки. Все там есть из инструментария.

гошка быстрей, это факт, мне категорически не нравится она как язык, как говорится на вкус и цвет… Но спорить с фактом что golang уделывает erlang в вопросе производительности просто глупо. Это просто факт.

То что масса разработчиков не умеет в много поточку это тоже факт, в эрланг как раз по дизайну встроенна модель для многопоточки. ergo ее реализует. Ну прекрасно же, берешь быстрый язык, с большим количество разработчиков, берешь проверенные временем концепции. На выходе профит.

Тебя кто обидел то? Или «погодите, в интернетах кто то не прав»

chemistmail
()
Ответ на: комментарий от Lusine

Никаких претензий к рождённому в России еврею, который умеет изъясняться на русском и еврейском (любом из) языке у меня конечно нет. А вот к попытке выдать это за «успешную литературную деятельность на чужом, иностранном языке» имеется.

ugoday ★★★★★
()
Ответ на: комментарий от chemistmail

берешь проверенные временем концепции. На выходе профит.

Концепции в прод не поставишь. «один из главных разработчиков Golang буквально заявил, что язык был разработан, чтобы быть простым, специально для новичков в Google, у которых были проблемы с пониманием концепций памяти.» Выглядит не очень.

Lusine
()
Ответ на: комментарий от ugoday

Смысл что есть гораздо более 3 писателей, выросших в России, но пишущих на языках других, чем русский. Ты просил, я назвал.

Lusine
()
Ответ на: комментарий от ugoday

Для Набокова английский тоже не чужой. Я что-то такое помнил про англофильство его родителей, посмотрел сейчас википедию – «научился читать по-английски раньше, чем по-русски», ну точно. В доме говорили по-английски небось. Так что это билингв с талантом писателя. Сочетание редкое просто потому, что великие литературные цивилизации шовинистические. Нафиг бы им чужие языки? Вот Россия исключение, потому что по сути это закомплексованная периферия. Там каждый второй владел иностранным языком как родным. Толстой мог бы по-французски писать свои опупеи, только для кого? Во Франции своих таких хватало. Набоков тоже стал писать по-английски вынужденно.

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от Lusine

Не нравятся Ландау с Люксембургом, есть еще Лена Горелик, родилась и выросла в Ленинграде, лауреат «Немецкая книжная премия», Премия Марилуизы Флайсер, Премия Генриха Манна.

Lusine
()
Ответ на: комментарий от ugoday

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

Lusine
()
Ответ на: комментарий от bread

Ну, дык, а я о чём? Иностранный как родной — редчайшее сочетание факторов. Хотя инструкцию к микроволновке или Readme.md какой тут каждый (почти) напишет.

Вот Россия исключение, потому что по сути это закомплексованная периферия. Там каждый второй владел иностранным языком как родным.

Мне кажется, вы преувеличиваете. Как в степени владения языками «каждым вторым», так и в исключительности России в данном смысле. Всю прослеживаемую историю какой-то язык, начиная с латыни, работал «основным языком культуры, науки и вообще образованных людей». Вот образованные люди его и знали.

ugoday ★★★★★
()
Ответ на: комментарий от Lusine

Выглядит замечательно. Можем брать джунов писать тонны кода, дешево и сердито. За ними нужно присматривать, но сам факт удешевления разработки выглядит очень хорошо.

Мой основной язык на котором я больше всего написал кода это haskell(первый был эрланг). На мой взгляд это простой и приятный язык, но в прод я его никому не порекомендую.

Хотя он быстр, приятен, прост(для меня). Но есть простой минус, количество разработчиков на рынке.

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

И причина этого проста как три копейки, мне за правильные рекомендации и действия платят деньги. И мой опыт позволяет мне разделять приятное для меня и приятное для заказчика.

И правильность таких действий я понимаю когда вижу ежемесяцные чеки от клиентов.

Ну и правда, хватит уже флудить по темам которые вы не понимаете.

chemistmail
()
Ответ на: комментарий от Lusine

Вы вот тут устроили какую то борьбу с ветряными мельницами…

Мне давно потребовалась многопоточная реализация snmp, я ее реализовал на haskell, потом к проекту присоединился еще один человек, у него была та же проблема, однопоточная реализация на эталонном c тупо не справлялась со сбором метрик, с ним мы допилили скорость работы что код работал с той же скоростью как эталонная реализация на си.

Потом я забросил проект, он мне стал не нужен. И пришли пара парней попросили права над либой на hackage, я им отдал. Они выкинули весь мой код, и в общем правильно сделали.

Я реализовывал конкретно snmp, а они написали компилятор asn.1 это более обширное и правильное решение. У меня была такая мысль, но задача написать компилятор asn.1 это сильно больше чем написать реализацию конкретно snmp.

Вы вот много критикуете и распинаетесь, ну поделитесь мудростью, примеры того что вы своими ручками и головой сделали….

Владелец топика поделился, спасибо ему за это. У меня тоже есть публичные проекты, но они старые и вряд ли кому актуальны.

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

Не нравится не ешь, кому то нравится.

chemistmail
()
Ответ на: комментарий от Lusine

Врут что ли, англичане?

Да.

Announcements and planned outages
Date	Time	Type
Thursday 5 February 2026	6pm to 10pm	SUS+/DLP maintenance
Wednesday 11 February 2026	6pm to 10pm	SUS+/DLP maintenance
Wednesday 25 February 2026	6pm to 10pm	SUS+/DLP maintenance

99.999% без учета ~12 часов в месяце.

Obezyan
()
Ответ на: комментарий от Lusine

Сперва добейся?

Сперва разберитесь в обсуждаемом предмете. Ваша вызывающая некомпетентность просто колет глаза.

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

Obezyan
()
Ответ на: комментарий от Lusine

Похоже, что вы чей-то виртуал, слишком тупо набрасываете.

Obezyan
()
Ответ на: комментарий от chemistmail

Мой основной язык на котором я больше всего написал кода это haskell(первый был эрланг). На мой взгляд это простой и приятный язык

Да ёшкин кот, назовите номер своей планеты в тентуре! А потом удивляются, чойто кодеров не найти. Надо было звездолёт побольше брать.

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от ugoday

Латынь это другое. Это тайный язык алхимиков и прочих масонов. Писать литературу для профанов на таком языке было бы довольно странно. Да и не думаю, что кто-то всерьез говорил дома на латыни. Как сейчас за пределами британской колониальной системы инглиш все вымучивают в школе, а билингвов то и нет.

bread
()
Ответ на: комментарий от bread

17349273849573947 а вы откуда?

А я не зарабатываю написанием кода )) Это хобби, что впрочем не мешало эпизодически втыкать мой код в прод по просьбе руководства.

chemistmail
()
Ответ на: комментарий от bread

Это тайный язык алхимиков и прочих масонов. Писать литературу для профанов на таком языке было бы довольно странно.

Не больше чем Хаскелл. Крестьянам не нужно, а у образованного человека и вариантов других нету, хочешь трактат написать так, чтобы все прочитали, не на итальянском (которого ещё не придумали) же это делать. Вот, считай до ВФР продержался (в Венгии — дольше).

Да и не думаю, что кто-то всерьез говорил дома на латыни.

Чего не знаю, того не знаю. А вот придёт немецкий студент к испанскому профессору права, на каком языке они кодекс Юстиниана обсуждать будут? Ну уж точно не на немецком (что это кстати?).

ugoday ★★★★★
()
Ответ на: комментарий от animechaos

Учитывая простой факт, что человек в одно лицо, практически, пилит проект много лет
То докапываться про отсутствие документации на русском - бредовище

Интересно, почему? Я тоже пилю в одно лицо, практически, проект много лет. И у меня есть документация на русском. На английском есть общее описание, статья в Linux Format, и интерфейс на двух языках, плюс, с недавнего времени, нейрогенеренная документация на английском. И я не считаю, что это бред. А вы считаете. У вас на лицо выученная беспомощность, рекомендую начать с ней бороться.

Xintrea ★★★★★
()
Ответ на: комментарий от kaldeon

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

Откуда вы это знаете?

Потому что если вы посмотрите на документацию, то увидите, какой там Simply English. Носители языка так не пишут.

Сегодня знание двух языков — непозволительная роскошь? Что насчёт тех людей, кто разговаривает на трёх языках? И почему второй язык должен обязательно ограничить, а не наоборот расширить концептуальные способности носителя?

Я этого не говорил, вы сами это придумали.

Если вас это так обижает, кажется, речь идёт не о логике и абстракциях, а о подчинении своему племени.

Давайте посмотрим на фразу топикстартера: «Какой-то наброс. Конечно же не существует и не будет. Но вы можете оплатить эту работу и она появится». Что мы тут видим? А видим мы взаимоисключающие параграфы: сначала он категорически отрицает, что будет существовать русскоязычная документация, а в следующем предложении говорит что за деньги не прочь заняться этим непотребством. Где же тут логика? Явно, автор находится в состоянии когнитивного диссонанса: он понимает, что русский язык является его основным инструментом структурного мышления, без которого эта библиотека не была бы даже создана, но принять это по какой-то причине не может. И это фиксируется в реальности: по факту мы видим, что англоязычная дока есть, а вопрос о наличии русскоязычной документации вызывает батхерт.

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

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

Все желающие документацию на русском прошу определиться и отписать кто сколько готов. Остаток я добью.

Если оно в разумных пределах.

chemistmail
()

Я там на тему русской документации про деньги написал, это серьезно. Определись сколько денег тебе надо потратить на перевод документации, будешь делать ты это сам или наймешь кого то дело десятое.

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

chemistmail
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.