Możesz zamiast tego użyć dwóch list dla tego typu rozproszonego wzorca. Sugeruję to głównie ze względu na charakter PubSub, który polega na „strzel i zapomnij” bez gwarancji dostarczenia. Zakładam, że w twoim przypadku tego nie chcesz.
Oto sugerowany przepływ — najpierw musisz skonfigurować dwa blokujące „odbiorniki”:
- Serwer1:
BRPOP completed
- Serwer2:
BRPOP requests
Następnie, gdy użytkownik się zaloguje:
- Serwer1:
LPUSH requests data
- Serwer2:odblokowuje, przetwarza dane,
LPUSH completed data
i wróć do blokowania popu - Serwer1:odblokowuje, robi wszystko, wróć do blokowania popu