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

Mark Nijhof mark.nijhof@REDACTED
Sat Jan 17 21:43:55 CET 2015


This is my Dockerfile that can build Erlang:
https://github.com/MarkNijhof/erlang_docker let me know if you have
questions

On Sat, Jan 17, 2015 at 9:06 PM, Harit Himanshu <
harit.subscriptions@REDACTED> wrote:

> 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
>>
>>
>


-- 
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/5ac74c41/attachment.htm>


More information about the erlang-questions mailing list