Is it possible to have a web dyno that runs simple web server listening on a chosen port, that's not accessible from the outside world, but is addressable from all other dyno's (web & worker) in the app?

Basically, I have a web app with several web and worker dynos, and they all need to perform certain lookups. I want to run a server with a simple API that performs lookups and returns the response. Ideally it want's to be running in the same environment as the other dynos because it's getting called very frequently (hundreds of times/sec at peak processing).

Is this something that could be supported in Heroku? If not, any idea how this type of thing could be achieved?


I don't know much about Heroku. I'm just looking into it myself, and I have a similar server configuration. Assuming that it is not supported, however, you could use cryptographically signed messages (like HMAC) or just plain encrypted requests to ensure that your workers are only serving valid requests from your front end servers.

This would add some overhead to your response time. You'd have to benchmark it on Heroku's dynos to see if it is fast enough for you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.