Я бы сравнивал сессии и jwt по критерию stateless/stateful. - Сессии - stateful, потому что со стороны бэкенда нужно какое-то хранилище сессий - JWT - stateless, потому что информация о пользователе зашита в сам токен Поэтому, JWT удобнее если, например, мы начинаем масштабировать бэкенд сервисы - не нужно думать о том, что все экземпляры должны иметь доступ к общему хранилищу сессий. Вопрос безопасности это скорее про передачу данных - как отправить сгенерированный токен, в теле ответа или в заголовках, есть ли HTTPS, и так далее.
С индексами нужно быть осторожным. Во первых, они замедляют операции записи, во-вторых, это дополнительное место на диске. Плюс индексы нужно делать правильно Проблемы - bloating, неиспользуемые индексы 14:10
Спасибо. Считаю, что "добавлять индексы" - ступень развития идущая после игнорирования индексов. Разборчивое добавление индексов - следующая ступень, для неё требуется некоторый опыт.
Есть 2 главных варианта - монорепозиторий (всё в одном), или на каждый сервис свой репозиторий. В моих проектах чаще второй вариант лучше подходит, но бывает иначе.