хорошо, а взять её на себя, это не хорошо? )
Но если единственное, что можно привести в аргумент, "возложить на кого-то ответственность", то окей - меня лично устроит и вообще обратный вариант, в beam-е вычеркнут слово distributed и глобал и прочие примитивы уберут(всё равно которыми в проде рискованно пользоваться) и что весь этот функционал растечется по библиотекам и стандартом станет использовать внешние разные компоненты(типа etcd) для этого.
Ну это и есть нормальный прагматичный путь. Ясно же, что команда OTP здесь конкурировать не только не хочет, но ещё и не может. Она слишком мала для этого.
Как я написал, зачем тогда включать слово distributed? Да и вообще делать примитивы, которые не для продакшена. Можно сэкономить много времени, вообще уйдя из конкуренции.
Ну там есть distributed по факту, и он для продакшена, только там меньше вариантов применения, чем у k8s например
Это легаси, как я понимаю. Так-то global свою задачу решает, просто у него есть кучи неожиданных особенностей, к которым нужно привыкнуть, ровно как и со многими другими вещами в otp (например, mnesia или dets). Всем этим можно пользоваться, только доки там очень не удобные и нужно читать код. То есть про global можно прочитать доку и вообще не понять какие условия, а они очень специфичные: нужен full-mesh, при сплите все global ресурсы будут дублироваться (если они под супервизорами), так и ещё на hidden ноды всё это не распространяется Моё мнение: в целом erlang-у уже давно нужны новые дефолты для distribution и новый global
Далеко не для всех распределенных систем отсутствие consistency является признаком, по которому их создателей стоит расстрелять. Потому Erlang вполне себе distributed.
Так global такой же сильно консистентный, как и etcd, просто у него другие требования к связности
Обсуждают сегодня