Size: a a a

2020 June 22

/

/dev/null in Go-go!
Ребят поделитесь пожалуйста опытом/репо
К примеру есть несколько микросервисов с архитектурой REST
Для "общения" между сервисами сейчас мы используем httpClient вынесенные в отдельные модули (если сервису 1 нужно получить информацию из сервиса 2, то он использует модуль который умеет вызвать ендпоинты сервиса 2 и возвращать ответы)

Поделитесь пжлст как вы организовываете подобное взаимодействие между сервисами (обработка ошибок, статусов, ответы и.т.п)
GRPC пока не рассматриваем, его советовать не нужно)
источник

АП

Александр Попов... in Go-go!
а почему?
источник

АП

Александр Попов... in Go-go!
ну можете MQTT попробывать
источник

AP

Alexey Palazhchenko in Go-go!
Не надо тут MQTT – слишком много самим нужно будет делать
источник

DK

Daniil Kuznetsov in Go-go!
Не сочтите за оффтоп, но может кто-то сталкивался. Что мне выбрать для js: protobuf.js или google-protobuf? Настораживает, что судя по этому бенчмарку https://www.npmjs.com/package/protobufjs#performance гугловский протобуф сериализуют хуже, чем JSON
источник

/

/dev/null in Go-go!
Не могу это обсуждать) есть как есть.
Интересно послушать как такой подход применяют другие., наверняка многие идут этим путем.
источник

AP

Alexey Palazhchenko in Go-go!
Не уверен 🙂 Мы идём путём gRPC
источник

AP

Alexey Palazhchenko in Go-go!
Можно https://github.com/twitchtv/twirp посмотреть. На мой вкус, gRPC лучше
источник

AP

Alexey Palazhchenko in Go-go!
Daniil Kuznetsov
Не сочтите за оффтоп, но может кто-то сталкивался. Что мне выбрать для js: protobuf.js или google-protobuf? Настораживает, что судя по этому бенчмарку https://www.npmjs.com/package/protobufjs#performance гугловский протобуф сериализуют хуже, чем JSON
источник

/

/dev/null in Go-go!
Alexey Palazhchenko
Не уверен 🙂 Мы идём путём gRPC
На сегодняшний момент так сложилось что каждый микросервис это REST и есть куча клиентов для этих сервисов.
Так просто на gRPC не перейдешь (за дешево) по этому и не рассматриваем вариант с ним.
Я тоже считаю что gRPC  это очень гуд.
источник

AP

Alexey Palazhchenko in Go-go!
Тогда можно сначала перейти на swagger
источник

Y

Yevhenii in Go-go!
Daniil Kuznetsov
Не сочтите за оффтоп, но может кто-то сталкивался. Что мне выбрать для js: protobuf.js или google-protobuf? Настораживает, что судя по этому бенчмарку https://www.npmjs.com/package/protobufjs#performance гугловский протобуф сериализуют хуже, чем JSON
Но это оффтоп) Та лучше пиши это в группе по js, какой нить, толку больше
источник

DK

Daniil Kuznetsov in Go-go!
Yevhenii
Но это оффтоп) Та лучше пиши это в группе по js, какой нить, толку больше
Окей, но на мой взгляд там вряд ли ответят на мой вопрос. Тут больше людей, работающих с protobuf и grpc
источник

ЮВ

Юрий Вельмесов... in Go-go!
Всех приветствую снова! 🤝

Я все ни как не могу победить проблему связанную с динамическим вызовом соответствующего handler-а в зависимости от того какой роут сработал у меня.

Вот накидал, то что есть у меня и дополнил комментариями по коду, чтобы было понятно:
https://play.golang.org/p/cMVReRRqJLS

Кто сможет подсказать в какую сторону копать и как вообще в go это сделать?
В PHP данный вызов я делал в две строки кода, тут же я просто не знаю.

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

ЮВ

Юрий Вельмесов... in Go-go!
обратите внимание на 51 строку
источник

S

Sergey in Go-go!
Не надо пытаться тянуть в го подходы из php.
источник

DK

Daniil Kuznetsov in Go-go!
Юрий Вельмесов
Всех приветствую снова! 🤝

Я все ни как не могу победить проблему связанную с динамическим вызовом соответствующего handler-а в зависимости от того какой роут сработал у меня.

Вот накидал, то что есть у меня и дополнил комментариями по коду, чтобы было понятно:
https://play.golang.org/p/cMVReRRqJLS

Кто сможет подсказать в какую сторону копать и как вообще в go это сделать?
В PHP данный вызов я делал в две строки кода, тут же я просто не знаю.

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

ВС

Владимир Столяров... in Go-go!
а зачем роутинг вытаскивать в конфиг, обычно это делается прямо в коде и все
источник

ЮВ

Юрий Вельмесов... in Go-go!
Sergey
Не надо пытаться тянуть в го подходы из php.
Я и не собираюсь этого делать.

Вот я сюда и обратился чтобы понять как это делается в го.

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

Вопрос как это делается в го? Или как это архитектурно по другому делается?
источник

ВГ

Владимир Гришин... in Go-go!
в го мы берем горилла мукс или джин и работаем
источник