[erlang-questions] Ideas on Distributed Programming on single machine

Harit Himanshu harit.subscriptions@REDACTED
Sat Jan 17 21:06:48 CET 2015


Thanks Mark, this sounds like a very good approach to learn about
distributed programming. Since I am new in this arena, do you mind sharing
resources on how to achieve something you do? That ways I can get some
direction on what to Google and take it forward

Thanks a lot!
+ Harit Himanshu

On Sat, Jan 17, 2015 at 11:53 AM, Mark Nijhof <
mark.nijhof@REDACTED> wrote:

> I have had 14 different machines running on my 2 year old MacBook Air
> (granted they where not doing a whole lot) by just using docker. Each
> docker instance has its own IP and name ect. Worked really well. Make sure
> that in each docker you run tmux so yo can check both the output and do
> things with the machine.
>
> What I do is put the Dockerfile in a sub folder of the project (because
> docker copies all things in the folder the Dockerfile is hosted in into the
> container and that is slow) and then map ../ to a mountpoint inside the
> docker container. If your host is the same as the docker container then you
> can build locally and just restart the process in the containers.
>
> -Mark
>
>
> On Sat, Jan 17, 2015 at 8:46 PM, Christopher Meiklejohn <
> cmeiklejohn@REDACTED> wrote:
>
>>
>> On Jan 17, 2015, at 8:23 PM, Harit Himanshu <
>> harit.subscriptions@REDACTED> wrote:
>>
>>
>> This is really dumb question and I am pretty sure that there is limit to
>> how much distributed programming could be learnt using single machine(I am
>> using Mac in this case).
>>
>>>
>>> I am reading through Programming Erlang, Chapter 14, Distributed
>>> Programming where Joe talk about how to run Name Server in distributed mode
>>> as
>>>
>>>
>>>    1.  I write and test my program in a regular nondistributed Erlang
>>>    session. This is what we’ve been doing up to now, so it presents no new
>>>    challenges.
>>>    2.  I test my program on two different Erlang nodes running on the
>>>    same computer.
>>>    3.  I test my program on two different Erlang nodes running on two
>>>    physically separated computers either in the same local area network or
>>>    anywhere on the Internet.
>>>
>>> You can get pretty far using all of the networking tools provided with
>> your operating system to simulate various network conditions.  I do all of
>> my daily distributed programming and research using a stock MacBook.
>>
>> Consider Kyle Kingsbury’s work on Jepsen where he’s able to find bug in
>> several major distributed databases.  There are also tools such as ‘tc’
>> which can be used to add arbitrary latency between processes.
>>
>> For what it’s worth, Basho does a significant amount of fault testing on
>> a single machine by using fault-injection tools, or by facilities like
>> ‘intercepts’ provided by Riak Test.
>>
>> My advice is this: do everything locally on your machine until you have a
>> reason to move to separate infrastructure; it will be easier to develop and
>> debug.
>>
>> - Chris
>>
>> Christopher Meiklejohn
>> Senior Software Engineer
>> Basho Technologies, Inc.
>> cmeiklejohn@REDACTED
>>
>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
>
>
> --
> Mark Nijhof
> t:   @MarkNijhof <https://twitter.com/MarkNijhof>
> s:  marknijhof
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150117/bce87c2b/attachment.htm>


More information about the erlang-questions mailing list