Иван Иванович
Всем привет, а есть какой-нибудь framework для go, работа на потоке(real-time), по типу flink(а) для Java/scala?
Такого фреймворка не может быть по определению. В рамках го он теоретически может быть реализован, но не может быть использован.
Игорь
Для батчей я использую airflow
Иван Иванович
Сборщик мусора.
Иван Иванович
Игорь
Это не real-time.
А и написал для батчей :)
Alexander
А и написал для батчей :)
что значит для батчей?
Игорь
что значит для батчей?
Пакетная обработка- то есть например выгрузка из файлов, который приходят раз в 5 минут, по таймеру раз в 5 минут забираешь. Вот все что из файлов собрал это один батч.
Иван Иванович
То есть у go нет такого понятия как работа в окнах?
Боюсь, такого понятия, нет ни у одного языка программирования. Если только под "работой в окнах" вы не имели в виду венду. Тогда ответ будет другой))
Игорь
Чем вас не устраивает простой цикл?
Было бы интересно видеть все subtask которые я создаю в коде
Иван Иванович
Было бы интересно видеть все subtask которые я создаю в коде
У вас есть даже рефлексия для этого. Не говорю уже о профилировщиках, линтерах и т.п.
Игорь
И мониторить передачу между тасками*
Иван Иванович
И мониторить передачу между тасками*
Для этого вам нужны логи/прометеус/графана/готовые тулзы (аля ОпенТрейс). Подобных средств выше крыше.
Игорь
Для этого вам нужны логи/прометеус/графана/готовые тулзы (аля ОпенТрейс). Подобных средств выше крыше.
Такое есть, но то что подкапотом, это надо будет настраивать для каждого приложения, flink для Java позваляет запускать и распределять в кластере джобу(приложение), мониторить все это дело, отрисовывать граф
Игорь
Например: у меня есть огромный топик данных, я хочу их считать с помощью go и распарсить , один сервер с этим не справится, есть ли средства чтобы распределить нагрузку?
Игорь
Чтобы я мог раскидать консюмеры и парсинг на разные ноды, такие решения есть, которые поддерживает go?
Иван Иванович
Легко. Пишите читатель топика, запускаете в нём 50 коннектов к 50 сервисам — каждому отправляете по одному сообщению.
Иван Иванович
Все счастливы, хеппи енд.
Иван Иванович
Это не реал-тайм. Это рядовая параллельная обработка.
Иван Иванович
И как админить подобную хурму:))
Вешаете наружу веб-морду с парочкой АПИ для запроса статистики. Либо как в прометеусе — прописываете адрес куда сервису стучаться самому по заданному условию либо периоду веремени.
Игорь
Вешаете наружу веб-морду с парочкой АПИ для запроса статистики. Либо как в прометеусе — прописываете адрес куда сервису стучаться самому по заданному условию либо периоду веремени.
Тут это будет очень сложно, каждый поток должен отдавать статусы и т.д. Потом если у тебя таких джобов более 10, как правильно раскидать нагрузку лежит на том кто запускает и как он будет просчитывать нагрузку уже на запущенных джобах? Это нужно и описать этот механизм, но как понял таких решений, которые поддерживали go нет?
Игорь
1) Ответсвенность всегда лежит на кодере. 2) Создайте один общий канал четния — кт освободен ,тот первый и схватил. 3) создайте общий канал отчёта — поток сделал — отчитался.
1) ты это разработчикам скажи😂😂😂 2) что за общий канал чтения ? 3) это я перечислил только самые очевидные проблемы которые возникнут, там их ещё куча будет, и без единого места это будет треш и разработать подобную платформу нужно будет держать команду разрабов именно этого приложения
Иван Иванович
То, что вы перечислили -- детский сад "Ромашка", подготовительная группа.
Sergey
Вам нужна экспертиза внутри команды, чтобы выбрать подходящую архитектуру под существующую задачу (с учетом имеющихся ограничений). Go тут вообще ни при чем 🤷‍♂
Alexander
Так а чего не нравится из Кафки той же читать и воркеры каким-нибудь кубернетесом плодить?
Elyorjon
mne nujna vakansiya
 ❤
Здравствуйте господа. Изучаю Golang с целью дальнейшего трудоустройства. Но закрадываются мысли о том что без опыта коммерческой разработки на другом языке устроится не удастся, что оказывает деморализующий эффект. Могли бы вы разбить мои опасения своим метким аргументом?
Игорь
Так а чего не нравится из Кафки той же читать и воркеры каким-нибудь кубернетесом плодить?
Кубернетес это прикольно, но мне кажется это не совсем очевидное решение для описанных мной задач + это нужно всю инфру там держать, думаю когда-нибудь к этому придём.
Alexander
Кубернетес это прикольно, но мне кажется это не совсем очевидное решение для описанных мной задач + это нужно всю инфру там держать, думаю когда-нибудь к этому придём.
в смысле всю инфу там держать? очереди кафка или что угодно, инфа соответственно какая-то СУБД, может не одна вне кубернетеса
Alexander
ну интересно получается, то есть это одна штука в которой вся инфраструктура налажена, которую в моем понимании вручную делают скорее. а почему она только на джаве джобы позволяет запускать?
Alexander
я не очень понимаю, почему она к языку привязана
Игорь
ну интересно получается, то есть это одна штука в которой вся инфраструктура налажена, которую в моем понимании вручную делают скорее. а почему она только на джаве джобы позволяет запускать?
Да не совсем так, flink - это Фреймворк(движек) распределённый потоковой обработки, там есть понятие jobmanager и taskmanager, taskmanager фактически выполняют вашу джобу, а jobmanager отвечает за загрузку, за распределение и координацию джобов. В нем очень легко можно увеличивать количество ресурсов на джобу и т.п. Это все распределяется внутри Java машин, так как сам flink написан на Java и сделать это для Java очень просто, это и есть преимущество. Засчет этого достигается высокая пропускная способность, гибкость настройки, низкая задержка, надёжность и т.д
Иван Иванович
Java тоже не нужны фреймворки в таком случае :)
Строго говоря — да. Но запустить Java на Bluepill (в отличии от Го) — это вряд ли. Как, впрочем, и нативно на любой вычислительной системе. Но беда Явы не в этом.
Игорь
Мне кажется, что вы не понимаете: го успешно продаёт себя тем, что он заточен под конкурентную коробку бай дезинг. Ему в этом смысле не нужны никакие фреймворки.
Я понимаю, что вы имеете ввиду, но это не совсем к тому что я имею ввиду, я говорю о средстве, которое бы помогло запускать множество приложений и администрировать их
Игорь
Условно говоря, когда у вас 100 приложений написанных на go, вы же не будете это все в кроне хранить
Иван Иванович
Иван Иванович
Но зато в Го есть переносимая библиотека `net/http'.
Иван Иванович
net/rpc
Игорь
Так я и не говорю про винду, есть сервера, есть много написанных джобов, как это все правильно админить ?
Игорь
Для этого придуманы инструмент airflow, oozie, Nifi, flink и т.д
Иван Иванович
Так я и не говорю про винду, есть сервера, есть много написанных джобов, как это все правильно админить ?
1) Сервис, который запущен всегда (сборщик инфы) 2) Сервисы, которые знают где стоит сборщик инфы. 3) net/http Этого достаточно.
Иван Иванович
Нет. Я сижу под линупсом.
Alexander
да а в чем проблема написать такое? только опять же я вообще не вижу тут никакой привязки к языку, это больше девопс
Игорь
Поэтому я у вас и спросил что для go вы можете посоветовать
Иван Иванович
Поэтому я у вас и спросил что для go вы можете посоветовать
Такие задачи — это будни разраба на го.
Alexander
+ какой-то шаблон приложения, который понимает как работать с инфраструктурой, но опять же для разных языков можно делать шаблоны
Alexander
Кто напишет мне flink для go в студию 😂😂😂
сам возьми и напиши, ишь какой хитрый)) заопенсорсь потом
Иван Иванович
Кто напишет мне flink для go в студию 😂😂😂
Я напишу. Но, потом. Работу работать надо.
Игорь
🤣🤣🤣
Игорь
Че говорит проблема написать такое 😂😂
Игорь
Можно просто было сказать такого нет пока что :))
Иван Иванович
На го есть докер и кубернетис. И тыщи всяких серверных тулз, типа lazygit.
Alexander
Можно просто было сказать такого нет пока что :))
не знаю, для меня прям дичь и шок, что девопсовая тулза завязана на один язык. очень странно
антон
тоже не пойму, как балансировщик связан с языком и зачем
Иван Иванович
не знаю, для меня прям дичь и шок, что девопсовая тулза завязана на один язык. очень странно
Т.е. вас не смущает тот факт, что ядро линукса целиком написано на Си?
Игорь
https://ru.m.wikipedia.org/wiki/Apache_Flink
Alexander
Т.е. вас не смущает тот факт, что ядро линукса целиком написано на Си?
почему должно смущать? я не вижу связи с моими словами
Иван Иванович
https://ru.m.wikipedia.org/wiki/Apache_Flink
Как интересно описана работа stdin, stdout и stderr. Я бы не догадался вокруг трёх потоков построить целый фреймворк...)))
Иван Иванович
Именованные каналы юникс где-то тихо плачут рядом))
Иван Иванович
Жду от вас «Фреймворк»на go😂
В го есть каналы и конкурентность бай дизайн (ещё раз). Никакие фреймворки в Го не нужны для этого.
Игорь
😂😂😂😂