[erlang-questions] Distibuted-Erlang practical case studies / examples

I Gusti Ngurah Oka Prinarjaya okaprinarjaya@REDACTED
Mon May 13 20:17:10 CEST 2019


Thank you everyone :)


Pada tanggal Sen, 13 Mei 2019 pukul 15.22 Oliver Korpilla <
Oliver.Korpilla@REDACTED> menulis:

> Hello,
>
> we use distributed BEAM nodes connected by the Erlang Distribution
> Protocol in several applications at my workplace.
>
> One application had one node handling all the central functions while the
> handling of users (potentially 10,000) was isolated into another node. If
> we needed the ability to handle more users than the current amount of
> connected nodes could handle, we connected more nodes. We used both message
> passing and distributed Mnesia in this application.
>
> We're also building a load generator. It will run through messaging
> scenarios useful in a Telco application, trying to fill as many parallel
> queues in the system under test as possible. Again, the choice is to run
> them on distributed BEAM nodes. The communication between nodes is based
> mostly on message passing and synchronous gen_server calls where needed.
> (Though in this application, once everything is set up, no more messages
> will be passed between nodes and the configured processes will just fire
> away at their network interfaces according to pre-configured scenarios.)
>
> We basically always opt to add more BEAM nodes when we want to utilize
> more cores distributed over more machines within the same network.
>
> The main advantage of BEAM nodes I see in my work is that where something
> runs can be very flexible when needed. We used :gproc and now :syn to
> benefit from that flexibility, freeing us from the need to know where
> something is run. For example:
>
> I had to design an application without knowing whether the underlying
> system would allow us to start BEAM with multi-core enabled or if each BEAM
> node would be pinned to just one core. (It was pretty clear that one core
> would not cut it for our requirements.) I opted to implement it as separate
> communicating applications that can be deployed into multiple BEAM nodes if
> needed. In the end, this wasn't necessary, so we deployed all parts into
> the same BEAM node. All we needed to change was the release bundling of the
> software but not the software itself.
>
> When we learned that we need to scale that application, this initial
> design decision in turn enabled us to do so. Spreading things out is easy
> with BEAM but one has to consider the performance implications. Most
> communication should happen within a node, for example.
>
> So, these were my use cases.
>
> Cheers,
> Oliver
>
>
> Gesendet: Sonntag, 12. Mai 2019 um 16:45 Uhr
> Von: "I Gusti Ngurah Oka Prinarjaya" <okaprinarjaya@REDACTED>
> An: Erlang <erlang-questions@REDACTED>
> Betreff: [erlang-questions] Distibuted-Erlang practical case studies /
> examples
>
> Hi,
>
> I just learn about how to ping a remote erlang node,  call erlang program
> in a remote erlang node by following this chapter
> https://learnyousomeerlang.com/distribunomicon .
>
> But, i can't imagine what kind of simple solution that i can build by
> utilizing Erlang's distributed behavior / feature / ability.
>
> Ok, first, i need some simple case studies utilizingg distributed behavior
> / ability from erlang.
> Second, Why do we utilizing distributed behavior / ability of erlang? Or
> in other words,
> which is better? utilizing rpc:call() or call other service in other
> remote node just through HTTP (REST maybe) ?
>
> Thank you
>
>  _______________________________________________ erlang-questions mailing
> list erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions[http://erlang.org/mailman/listinfo/erlang-questions]
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20190514/1947a7d2/attachment.htm>


More information about the erlang-questions mailing list