Проверка существования пользователя в отдельном пользовательском сервисе. Использовать JWT user_id или хореографию? ⇐ JAVA
Проверка существования пользователя в отдельном пользовательском сервисе. Использовать JWT user_id или хореографию?
Итак, я возвращаюсь с еще одним вопросом о разработке приложения для моего проекта микросервисов.
Представьте, что у нас есть два микросервиса:
управление пользователями (хранит user_id + другие сведения о пользователе)
управление сообщениями (хранит сообщения пользователей и, очевидно, потребуется копия/ссылка на user_ids)
Моя проблема в том, что я подумал о том, чтобы сохранить user_id в JWT и использовать его. Это прекрасно работает, когда пользователь создает сообщение, но возникает проблема. Что произойдет, если администратор удалит учетную запись этого пользователя? JWT этого пользователя все еще может быть доступен (даже если я использую кратковременные jwt, например, 15 минут), и он может иметь возможность создавать новые сообщения в пост-сервисе, несмотря на то, что у него больше нет учетной записи.
Еще одна мысль, о которой я подумал (опять же, я новичок, поэтому я не уверен, какой курс будет лучшим), заключается в том, что каждый раз, когда мы делаем запрос на публикацию, мы просто создаем публикацию в почтовой службе, не проверяя ее немедленно. , но попробуйте асинхронно отправить событие пользовательской службе, которая будет «ПРОВЕРИТЬ» существование пользователя. Если пользовательский сервис ничего не возвращает, то все ок, но если он возвращает что-то вроде UserDoesNotExistEvent, мы удаляем все сообщения из пост-сервиса. Проблема, которая появляется сейчас, заключается в том, что идентификатор делает эти асинхронные запросы (даже если они асинхронные), мне придется делать их КАЖДЫЙ раз, когда создается новое сообщение. Это нормально? Будет ли это перегружать пользовательскую службу и почтовую службу созданием сообщений, которые вскоре будут удалены?
Что мне делать?
Я хочу, чтобы это было достаточно эффективно, но в конце концов это всего лишь проект последнего года, так что это не тот продукт, на котором я буду зарабатывать деньги, но я хотел бы узнать о нем как можно больше вещей передовой опыт и компромиссы в области микросервисов.
Итак, я возвращаюсь с еще одним вопросом о разработке приложения для моего проекта микросервисов.
Представьте, что у нас есть два микросервиса:
управление пользователями (хранит user_id + другие сведения о пользователе)
управление сообщениями (хранит сообщения пользователей и, очевидно, потребуется копия/ссылка на user_ids)
Моя проблема в том, что я подумал о том, чтобы сохранить user_id в JWT и использовать его. Это прекрасно работает, когда пользователь создает сообщение, но возникает проблема. Что произойдет, если администратор удалит учетную запись этого пользователя? JWT этого пользователя все еще может быть доступен (даже если я использую кратковременные jwt, например, 15 минут), и он может иметь возможность создавать новые сообщения в пост-сервисе, несмотря на то, что у него больше нет учетной записи.
Еще одна мысль, о которой я подумал (опять же, я новичок, поэтому я не уверен, какой курс будет лучшим), заключается в том, что каждый раз, когда мы делаем запрос на публикацию, мы просто создаем публикацию в почтовой службе, не проверяя ее немедленно. , но попробуйте асинхронно отправить событие пользовательской службе, которая будет «ПРОВЕРИТЬ» существование пользователя. Если пользовательский сервис ничего не возвращает, то все ок, но если он возвращает что-то вроде UserDoesNotExistEvent, мы удаляем все сообщения из пост-сервиса. Проблема, которая появляется сейчас, заключается в том, что идентификатор делает эти асинхронные запросы (даже если они асинхронные), мне придется делать их КАЖДЫЙ раз, когда создается новое сообщение. Это нормально? Будет ли это перегружать пользовательскую службу и почтовую службу созданием сообщений, которые вскоре будут удалены?
Что мне делать?
Я хочу, чтобы это было достаточно эффективно, но в конце концов это всего лишь проект последнего года, так что это не тот продукт, на котором я буду зарабатывать деньги, но я хотел бы узнать о нем как можно больше вещей передовой опыт и компромиссы в области микросервисов.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение