Я сейчас загружаю данные из MySQL в массив объектов в Nodejs и хотел масштабировать мое приложение, например:
const Users = [];
function loadUsers(){
# MySQL rows go into new User object then pushed to Users[]
}
Мне было интересно, когда я масштабирую свое приложение, оно собирается создать несколько потенциально разных копий Users [] в разных экземплярах.
Является ли хорошей идеей сохранить массив Users [] в Redis, а затем в каждом экземпляре при необходимости получить пользователей из Redis E.g.
function getUserById(id){
const users = JSON.parse(redis.get("users"))
return users.find(user => user.id == id)
}
Или это хорошая идея - загружать пользователей из MySQL в каждом экземпляре и использовать PubSub для обновления массива Users [] при его изменении?
function setUserOnline(user){
user.online = true;
# send updated user to other instances
}