Możesz.
Wszystko zależy od obciążenia, jakie mają te inne serwery, jest to problem współdzielenia zasobów. Szczerze mówiąc, moim głównym problemem z twoją architekturą nie jest serwer dedykowany i niededykowany, to fakt, że umieszczasz serwer Redis (główny lub nie) na hoście, który najprawdopodobniej będzie miał dostęp do Internetu (aplikacja ExpressJS) , co oznacza, że jest dość wyeksponowany.
Jeśli możesz zasymulować ładowanie HTTP na serwerach Node/Express JS, zobacz różnicę między uruchomieniem niektórych testów porównawczych na serwerze dedykowanym a niededykowanym:
Na uruchomionym serwerze redis wpisz:
redis-benchmark -q -n 100000
Jeśli serwery aplikacji są często atakowane i używają wszystkich rdzeni, powinieneś zauważyć znaczną różnicę w testach porównawczych.
Moja sugestia jest taka, aby przejść do pierwszej konfiguracji i dodać monitorowanie czasów reakcji redis i działać tylko wtedy, gdy trzeba, co może być teraz, jeśli testy porównawcze pokazują bardzo słabe wyniki.
Na marginesie rozważ opcję nieudostępniania hostów dla usług udostępnianych w Internecie usługom, które wykonują wewnętrzne funkcje w Twojej aplikacji.