riak_core nodes on Heroku?

Kresten Krab Thorup krab at trifork.com
Wed Jun 13 17:28:49 EDT 2012


For a wider audience, it would be interesting to do an implementation of Erlang distribution based on HTTP.

I've been contemplating that to run Erjang apps on Google AppEngine. But it wouldn't solve the issue that a load balancer in front of such a cluster of HTTP enabled Erlang nodes will make explicit node2node communication impossible, because a request could go to any node.

Kresten

On 13/06/2012, at 13.51, "Jonathan Baudanza" <jon at jonb.org<mailto:jon at jonb.org>> wrote:

Getting dynos to communicate might be tricky.  When you make an HTTP request to heroku, the request first hits the heroku "routing mesh".  The mesh is responsible for deciding which dyno will service the request. I don't know of any way to explicitly send a request to a specific dyno.

Dynos are also expected to use no more than 512MB of memory.

This article gives more information on how dynos operate and their restrictions.
https://devcenter.heroku.com/articles/dynos

Despite all of this, it might be fun to try anyway just to see the results! Let us know how it goes.

On Wed, Jun 13, 2012 at 1:01 PM, Jon Brisbin <jon at jbrisbin.com<mailto:jon at jbrisbin.com>> wrote:
So long as the dynos can communicate with one another and cooperate via node communication, the stateless nature of the application doesn't really matter. I don't need to persist anything once a dyno is shut down.

The thing that makes me curious is whether the things riak_core (not riak_kv) depends on (handoff particularly) could be shoehorned into this environment using the stock tools. I suspect not but wanted to scratch an intellectual itch. :)

Thanks!

Jon Brisbin
http://about.me/jbrisbin

On Jun 13, 2012, at 2:44 PM, Jonathan Baudanza wrote:

Hi Jeff,

Dynos on Heroku don't have access to any permanent disk storage.  They can read and write to /tmp, but that is not guaranteed to stick around.

Dynos are also restricted to only accept HTTP connections.  This would rule out any ProtocolBuffer connections.

Curious if anyone is able to use clustered nodes on Heroku using the Erlang buildpack [1]? Seems like it should at least be theoretically possible to launch new dynos that become part of your node cluster. How reliable/easy/hard is node communication on EC2?
[1] - https://github.com/heroku/heroku-buildpack-erlang
_______________________________________________
riak-users mailing list
riak-users at lists.basho.com<mailto:riak-users at lists.basho.com>
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com


_______________________________________________
riak-users mailing list
riak-users at lists.basho.com<mailto:riak-users at lists.basho.com>
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com



_______________________________________________
riak-users mailing list
riak-users at lists.basho.com<mailto:riak-users at lists.basho.com>
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com


More information about the riak-users mailing list