How to setup global absinthe subscription docs?

Hello all, the following scenario has come up in attempts to create subscription based messaging via absinthe and I’m not quite sure of the best way to resolve it. When I have multiple instances running of my api, the subscription event does not seem to broadcast if a message is sent from a node that currently has no subscribers.
For example: I start two instances of my api at ports 4000/4001. On port 4000, I go to /graphiql and subscribe to new message events on a particular thread by ID. On port 4001, I go to /graphiql and send a message to that same thread ID as was subscribed to on the app running at 4000. On send, I get no results in the subscription setup on port 4000. Now if I go ahead and subscribe to the same thread on port 4001, when a message is sent to the specified thread on either running instance I see that the event is broadcast out to both instances.
It seems that the broadcast is working correctly, but that when a subscription happens on instance A… it is not letting other instances know that there is a subscription. Any ideas on what I am missing here?

Have you set up anything to do with Phoenix PubSub or distributed Erlang thus far? I believe those are strictly required for this concept to work the way you wish.

Yessir I have the endpoint pubsub configured for redis with the following setup:

[
name: MyApp.PubSub,
adapter: Phoenix.PubSub.Redis,
url: {:system, “R_URL”, “redis://localhost:6379/0”},
node_name: :rand.uniform(1_000_000_000)
]

This config seems to be working fine so far using phoenix channels directly and with subscriptions on a single instance, but I must be missing something when it comes to handling multiple instances. Whenever the app is auto scaled, it seems that if a new message request is routed to the new instance it will only broadcast the message to subscribers on other instances if someone subscribes to that same topic on the new instance.