[erlang-questions] How to Name Concurrency Patterns

Sean Cribbs <>
Thu Feb 20 15:56:58 CET 2014


On Thu, Feb 20, 2014 at 1:58 AM, Ulf Wiger <> wrote:

> A pattern I don't see mentioned often is what I might call 'orchestrator',
> where one process is assigned the responsibility for the overall 'script',
> dispatches tasks to workers and collects the results. I would say that
> pmap() is a simple orchestrator pattern, and a good opportunity to explain
> both supervision and selective receive.
>

I was going to mention something like this, but didn't know what to call
it; thanks Ulf! We have a bunch of them in Riak, gen_fsm processes that
fanout requests to other processes and collect and coalesce the results.
Here's some more patterns that should be blindingly obvious (and maybe they
were already mentioned, or are too simple to mention):

Client-Server (gen_server, e.g.)
Proxy (one process mediating access to another)
Registry (finding other processes or services)
Monitor (less like a supervisor, more like just reporting on what's going
on)

-- 
Sean Cribbs <>
Software Engineer
Basho Technologies, Inc.
http://basho.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140220/3157046d/attachment.html>


More information about the erlang-questions mailing list