Właściwie rozsądnie jest powiązać Redis i MongoDB:są dobrymi graczami zespołowymi. Więcej informacji znajdziesz tutaj:
MongoDB z redis
Jednym krytycznym punktem jest wymagany poziom odporności. Zarówno Redis, jak i MongoDB można skonfigurować tak, aby osiągnąć akceptowalny poziom odporności, a te kwestie należy omówić w czasie projektowania. Może to również ograniczać opcje wdrażania:jeśli chcesz replikację master/slave zarówno dla Redis, jak i MongoDB, potrzebujesz co najmniej 4 pudełek (Redis i MongoDB nie powinny być wdrażane na tej samej maszynie).
Teraz nieco prostsze może być zachowanie Redis do kolejkowania, publikacji/subskrypcji itp. i przechowywanie danych użytkownika tylko w MongoDB. Uzasadnienie jest takie, że nie musisz projektować podobnych ścieżek dostępu do danych (trudna część tej pracy) dla dwóch sklepów o różnych paradygmatach. Ponadto MongoDB ma wbudowaną skalowalność poziomą (zestawy replik, automatyczne sharding itp.), podczas gdy Redis ma skalowalność tylko zrób to sam.
Jeśli chodzi o drugie pytanie, napisanie do obu sklepów byłoby najłatwiejszym sposobem na zrobienie tego. Nie ma wbudowanej funkcji do replikowania aktywności Redis do MongoDB. Zaprojektowanie demona nasłuchującego kolejki Redis (gdzie aktywność będzie publikowana) i pisanie do MongoDB nie jest jednak takie trudne.