As far as I understand Heroku lets you connect between nodes (Dynos within a private space with dns discovery [0]) and also supports websockets [1]... for the mandatory restart, wouldn't you want to design your process as stateless anyway?
[0] https://devcenter.heroku.com/articles/dyno-dns-service-disco... [1] https://devcenter.heroku.com/articles/websockets
Sorry if I'm missing something obvious!