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

Всем добрый вечер. Хотел проконсультироваться про патерны микросервисной архитектуры. Флоу достаточно

стандартный, выглядит следующи одразом. Пользователь отправляет логин, пароль, запрашивает аутентефикацию + авторизацию = ему возврашется jwt токен доступа и рефреш + доступные доступы + инфа о пользователе.

Я думаю сделать так. Есть гетвей. Он отправляет запрос в сервис Авторизации с лоигном и паролем.
Сервис Авторизации делает запрос в сервис Профиль и по логину просит захешированный пароль (сервис профиль имеет свою БД с даннымт пользователей). сверяет пароли, если все ок (упрощенный флоу без 2й идентефикации), то берет список доступов для этого пользователя (у сервиса авторизации своя БД в ней хронятся список доступов + забаненные токены), генерит токины зашивая инфу с списком прав в них и отдает это гетвею.
Гетвей идет в сервис Профиль, просит у него данные клиента без хешированного пароля, гетвей всё это агрегирует в один объект и отдает на клиент. Вот

На сколько это кастыльно и как правльно?
На сколько вообще нормально, что гетвей ходит в несколько сервисов и агрегирует данные и отдает клиенту, а не тупо прокся?
На сколько нормально права зашивать в токен, чтобы потом дешифровать и понять что можно, а что нет?
На сколько нормально, если при последующих запросах jwt будет дешифроваться в гетвей и в соответствии с правами давать или не давать доступы к каким-то сервисам?
На сколько нормально, что у каждого сервиса своя БД и что сервис Авторизации сначала идет в сервис Профиль, и просит пароль, а потом гетвей уже идет в сервис Профиль, чтобы получить всю требуемую инфу по клеенту?
На сколько нормально вообще с авторизацией сразу отдавать инфу по клиенту или лучше отдельным запросом от клиента?

И второй еще флоу. Регистрация, по итогу которой у нас возвращается токены и доступы.

Приходит в гетвей запрос на регистрацию. Гетвей идет в сервис Профиль и создаёт пользователя (там еще будет подтверждление через СМС, но тут упращеннач модель, этол не упоминаю). Если создали успешно, то идет в сервис Авторизации, записывает установленные права для этого пользователя и получает токены в которые вшиваются доступные права. И после этого гетвей отправляет на клиент инфу.

Прошу ваше мнение. Очень выручите.
Может кто посоветует материал или книгу где можно было бы простыми словами быстренько понять как правльно строить микросервисную архитектуру и решать подобные вопросы.

Всем спасибо заранее.

2 ответов

16 просмотров

я советую выкинуть микросервисную архитектуру и сделать модульную, потом если словишь нагрузку то выносить уже тяжелый модуль в мс, ну это касательно мсов, про саму проблему сходу ниче не понял, ща еще раз прочитаю

IL'shat Khamitov
я советую выкинуть микросервисную архитектуру и сд...

Да, + можно привтыкать с распределенными транзакциями. Это полюбому надо будет.

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

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

@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Hello, Is iExec also part of the "inception program" or another one ? Would it be a name to qualified the nature of the relationship between iExec and Nvidia? And does Secret ...
Ñïķøłäś
8
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
any reference of this implementation?
BitBuddha
29
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта