Я изо всех сил пытаюсь понять, как масштабировать веб-приложение любого типа, которое позволяет пользователю входить в систему, и зависит от того, чтобы этот пользователь входил в систему для выполнения каких-либо действий.
Например, скажем, у меня есть веб-приложение, которое позволяет пользователю входить в систему, редактировать адресную книгу пользователей, отправлять сообщения другим пользователям и получать сообщения от пользователей.
Некоторые советы, которые я получил, - разделить мое приложение на сервисы, используя глаголы. Таким образом, у меня будет служба редактирования адресной книги, служба отправки сообщений, служба получения сообщений и служба аутентификации. Все они могут быть индивидуально масштабированы по горизонтали и не будут обмениваться данными. Это было бы идеально, только они должны обмениваться данными - пользователь, который в настоящее время вошел в систему. Я не могу понять, как это будет работать? Должен ли я просто отправлять идентификатор пользователя между службами, и будет подразумеваться, что это пользователь, который вошел в систему? Что если я хочу сохранить состояние сеанса с информацией о том, что пользователь делает в данный момент?