170 похожих чатов

Подскажите как правильно раскидывать proto файлы между микросервисами? Так как

я понял клиент и сервер ссылаются на один и тот же сгенерированный grpc pb файл. И может ли сервис быть одноврменно клиентом и сервисом?

9 ответов

34 просмотра

У меня архитектура с 5-8 минисервисами, и они все общаются через gRPC, используя один и тот же grpc pb файл. Этот grpc pb файл просто грузится как библиотека в каждый из этих сервисов

Sergei- Автор вопроса
Лев
У меня архитектура с 5-8 минисервисами, и они все ...

А можно по подробнее, только начал знакомится с grpc, еще не до конца догоняю как это реализовать

Да, может быть одновременно клиентом и сервисом. Клиент или сервер какой-то сервис - это уже как ты сделаешь.

думаю что тут отлично подойдут git submodules

Sergei
А можно по подробнее, только начал знакомится с gr...

По подробнее...ну не знаю. У меня все сервисы общаются друг с другом с помощью gRPC, а proto file и сгенерированный им .go file находятся в отдельной папке - и к ней есть доступ к всех этих сервисов. В этой папке также есть file go.mod - так что она является module

Sergei- Автор вопроса
Лев
По подробнее...ну не знаю. У меня все сервисы обща...

то есть если я разношу эти сервисы на разные виртуальные или физические хосты, то на каждом должна быть эта папка/либа из которй беру .proto?

Sergei
то есть если я разношу эти сервисы на разные вирту...

С таким я не работал. У меня они все физически находятся на одном хосте. Хост запускает все сервисы в виде контейнеров в докере. Но так как они все физически на одном хосте, то папка с grpc она у меня в докере как volume и у контейнеров к ней есть доступ. Если у тебя всё в разных местах то я думаю тебе лучше всего будет запульнуть твою либу grpc в гитхаб чтобы твои сервисы тянули ее от туда.

Sergei- Автор вопроса
Лев
С таким я не работал. У меня они все физически нах...

хорошо, спасибо за понятное объяснение и последний вопрос, ты сразу закидываешь в папку сгенерированный pb файл или генеришь его на моменте старта проекта?

Sergei
хорошо, спасибо за понятное объяснение и последний...

Да сразу, пихаю готовый .go файл - просто для экономии. Но я предполагаю что в принципе можно в докерфайле прописать чтобы он генерился на "старте" - но я так не пробовал

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта