Phoenix application on a fleet of machines

I’m developing a real-time Phoenix App using it’s Channel and Socket modules. The App consists of a few processes and GenServers. I have a use case, where on an event that is an API call from a microservice, I need to broadcast messages to all different topics on my channel at different timestamps. I use Process.send_after to achieve the same. It works fine on my local machine by my doubt is:

On a fleet of machines, because the API call will hit only a single machine in my cluster, other machines wouldn’t be able to send the broadcast messages. And this would lead to inaccuracy. How can I let all the machines know of this particular event? Or am I doing it wrong?

Well, are the machines isolated from each other or do they communicate?

Assuming the later it should be easily doable to tell the other machines about the event.

I don’t have a cluster set up yet. But, I’d like to go for one where machines communicate because that would also handle the client connect/disconnect problem. I’m new to Phoenix. Can you please point me in the right direction?