Q
тогда посоветуй)
Maks
Роман
нода кормит пока, забывать нельзя)
Но собственно если бы она не печалила - не был бы здесь)
Maks
Ну а сам проект в докере держи
Maks
С композом
Maks
Хотя тебе же получается даже билдить не надо. Просто ранить в дебаге. И ранить внутри контейнера я так понимаю. Для этого как раз думаю подойдет скриптик sh.
Maks
В качестве имитации прод среды может выступать. У тебя же там наверняка всякие еще бд крутятся и прочее.
Роман
Всё понятно теперь! Спасибо ребят)
Q
ну кинь в личку что-нибудь
Maks
Почему ты против работы го проекта внутри контейнера локально?))
Maks
Мы же при разработке должны ориентироваться на прод среду. В чем проблема, что го проект крутится внутри контейнера а не на хостовой машине? Можно тупо делать билд и рестарт внутри контейнера.
Кстати я придумал один способ с хотрелоадом рабочий более менее адекватно.
В контейнер мапится все что нужно. Ставится вся хрень в докерфайле которая потребуется, в частности inotify-tools. Ставим событие на папку билд на ожидание изменений. Дальше пишешь код, правишь все что нужно, когда готово билдишь с флагами для дебага в контейнере.
Получается что у тебя проект будет билдиться только по твоей команде, а перезапускаться только после билда. Когда файл в папке билд изменится
Maks
Ну там баш скрипт еще пишешь который будет следить за директорией и перезапускать прилу
Maks
Примерно так наверное можно сделать и в целом в этом нет никакова криминала
Maks
А в чем оверхед? Если у тебя микросервисы, они между друг другом по локали общаются, у них может быть один порт но разные айпи адреса внутри докер сети. И по имени хоста можно их взаимодействие настроить. Они могут быть написаны на разных языках к примеру. Тогда как бы без докеризации будет не удобно.
Maks
У меня сейчас что бы бизнес процесс воспроизвести(правда у нас на пыхе разных версий почти все микросервисы) и один на го. И нужно как то их научить общаться. И общаются они по локальной сети внутри докера.
Maks
Из докера долбиться в хоста это такое себе
Anonymous
а кста насчет докладов
никогда их не смотрел, что это за хайп? и стоит ли?
Maks
Так можно в контейнере же просто ран делать по идеи
Maks
Мапишь туда ./ и все, не нужно каждый раз ничего перепаковывать. А можно вообще только исполняемый туда мапить.
Maks
Тогда сборка в локали а запуск с дебагером будет так же в докере. Проблем в настройке не вижу. А зачем - как я уже написал что бы имитировать прод. Что бы с ним могли другие сервисы общаться нормально.
Maks
Внутри локальной сети
Maks
Ну я так поднимаю. Потому что некоторые изменения требуют изменений сразу в нескольких микросервисах.
Maks
Ну и к тому же у нас сервисы все закрыты наружу
Maks
На тестовой среде, на препроде
Maks
Кроме двух
Maks
Ты не понял, там сами контейнеры наружу не открыты
Maks
У них внешний порт не пробрасывается
🅞leksiy
Maks
Есть 2 сервиса у которых порты наружу смотрят. Все остальные наружу не смотрят. Но они находятся все внутри одной локальной для них самих сети докера. То есть они между друг другом общаются, го извне к ним не постучаться
Maks
Самое стремное мне пришлось на днях поднять 8 консумеров, и у мен ноут умер от нехватки оперативы))) рабит слушать)
Maks
Выдали ноут на 8 гигов.
Maks
По этому переезжаю на личный пк)
🅞leksiy
А как же своп?
Maks
Нет))) в мтс диджитал)
Maks
Но это мало о чем говорит так как команд дохрена и проектов тоже))
Maks
Изнутри контейнера стучаться в сервис запущеный на локалхосте хостовой машины?
Maks
А если у тебя несколько сервисов на разных языках крутятся? На разных версиях разных языков. Например часть сервисов на пыхе
Maks
Они то точно в контейнере подняты
Maks
Как ты из них в свой го сервис будешь стучаться
Maks
У меня микросервиснач архитектура на пхп. И один микросервис на го переписан. Есть только 2 внешних сервиса которые смотрят наружу, остальные только внутри. Для выполнения некоторых задач мне нужно внести изменения сразу в 4 микросервиса. Информер, кернель, биллинг и еще один. Только один из них смотрит наружу. При этом некоторые так же стучатся в го сервис за нужными данными. И эти некоторые , как и го сервис, закрыты внутри локальной докер сети.
Maks
То есть для партнеров есть несколько ендпоинтов одного сервиса, для администраторов есть еще веб интерфейс одному сервису, а эти сервисы уже с другими контачат. По локальной сети своей
Maks
Они отправляют рест запросы в другие сервисы
Maks
И вообще к чему этот холивар. Если человеку нужно поднимать внутри контейнера го сервис- пусть он так и делает. Я предложил по моему мнению вполне рабочую схему хот релоада своеобразного, который не должен оверхеда особого завозить и будет отрабатывать только при пересборке. Просто что бы руками не рестартить
Zaсh
можешь объяснить простыми словами "логику", зачем нужен брокер kafka, связующий несколько микросервисов. Видел схему недавно, надеюсь я ее правильно понял, так не смогу скинуть, т.к. уже не помню где она
Zaсh
Но вообще оч интересная дискуссия в чате
Zaсh
немного другой была, но давай на этом примере если хочешь. Так погуглив не оч понял, а ты живой человек все таки
Zaсh
пхах)
Maks
Там сделано как сделано, это нельзя изменить, это наследие прошлых разрабов. Что то через ребит мутится, что то по ресту. Например приходит запрос на оплату, мне нужно узнать какой это оператор, я отправляю рест запрос в своей сервис которые по номеру вернет оператора и еще некоторую инфу. Далее отправим запрос на тарификацию в сервис который с бпц конкретного оператора работает. Ты предлагаешь оператора определять так же через очередь что ли?
Maks
Боюсь у нас тогда будут слишком жирные очереди и начнется просадка по скорости обработки запросов.
Maks
Некоторых
Zaсh
так я наоборот пишу, что ты человек следовательно != бот
Zaсh
Роман
Мне кажется тут скорее вопрос, чем плохо межсервисное взаимодействие по http
Maks
Ну у нас кубер, поды, все дела
Maks
Чеит
Maks
Других подов может быть не 10 а меньше. Так как там логика проще а значит отвечать будет быстрее. И других запросов у него к примеру тоже нет, у того к кому обращаются
Maks
А этот может в один сходить, в другой, с агрегировать данные, записать в таблицу и например в очередь послать мессадж какой то. Что произошло такое то событие, такой то айди транзакции. Другой сервис возьмет и начнет обрабатывать. Так как у него этой транзакции нет, он запросит ее у нужного сервиса
Maks
Как то так оно работает
Maks
Когда я пришел на проект так уже было
Maks
К тому же если это grpc, то по сути это тоже межсервисное взаимодествие
Maks
На прямую
Maks
Смотря где. Проектов тьма, команд много, стек разный
Maks
Честно не знаю, даже не уверен что именно у нас есть эта инфа. Скорее всего в наших сервисах вообще нет инфы о владельце.
Maks
Мы только инфу собираем о миграциях абонентов
Сергей
Гошка супер! Минимум затрат и результат готов! А нам же и нужен результат.
Ну а асм, это процесс 🤣🤣🤣
Iosef
Zdravstvyte, vsem!
Iosef
Vozmozhno napisat' po anglisskij sdez?
Alex
Iosef
Spasibo!
Iosef
Ya lyublyu Golang yazyk i tozhe russkij.
Iosef
No poka ne mogu po russkij govorit' kak nado.
Iosef
Tak.
Iosef
Is it allowed to share Go books in here?
Alex
Iosef
Ok, I shall.
Iosef
Thank you.
Iosef
Iosef