Задать вопрос
@Klayd_Dev

С чем и как есть gRPC?

Ребята, всем привет. Есть вопрос о микросервисах, общающихся по gRPC. Предположим у меня есть модель пользователя, значит я для него должен сделать соответствующий protobuf. Каждый из микросервисов по своему взаимодействует с пользователем. Из этого у меня возникло несколько вопросов:
1. Хватит ли мне одного protobuf? Или мне нужно на каждый сценарий взаимодействия делать отдельный?
2. Стоит ли вообще разделять пользователя на части в разных микросервисах? Или просто всем дать одну модель (копипаст)?
3. Как лучше поступить: сделать каждому микросервису свою аутентификацию+авторизацию или сделать отдельный микросервис-провайдер, который будет отдавать пользователя нужному сервису?
4. Какие библиотеки можете посоветовать для gRPC?
5. Что можно почитать/посмотреть чтобы более лучше понять устройство такой архитектуры?
  • Вопрос задан
  • 180 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
AshBlade
@AshBlade
Просто хочу быть счастливым
1-2. Если говорить про микросервисы: каждый микросервис должен определять свою модель пользователя (только те поля/данные которые нужны конкретно ему) - да это будет копипаст

Если про реальность: все зависит от области - возможно стоит сделать несколько независимых (в контексте запускаемых процессов) сервисов, но все они будут шарить единственную модель, а может для каждого свою определить.

3. Зависит
4. Обычно, для популярных ЯП (ты не указал, но в тегах есть питон) есть официальные библиотеки с кодогенерацией - юзай их
5. Какой архитектуры? Если про gRPC vs HTTP, то лучше копай в строну понимания синхронного (HTTP, TCP, gRPC) и асинхронного (очереди сообщений) взаимодействия
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
AST Москва
До 350 000 ₽
18 янв. 2025, в 10:04
50000 руб./за проект
18 янв. 2025, в 09:18
5500 руб./за проект
18 янв. 2025, в 07:20
50000 руб./за проект