Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I haven’t worked much with BEAM/Erlang but having worked with real distributed applications I’m quite skeptical there’s much value in helping me send messages over the net between processes. That’s the trivial part of distributed systems. The hard parts of distributed computing like data consistency, consensus, or network partitions are left to the programmer. To say nothing about hardware.

Something simple like a message queue has many ways it can be implemented in a distributed system. In Erlang every actor has its own queue. Great. I highly doubt I could actually use them in a real distributed system but I’d love to see that I’m wrong.

Here's a trivial example from one of my recent jobs: We need to queue Slack messages from different producers into some kind of per-tenant outbox queue that ensures one consumer per tenant, and which consumes at a maximum rate (to stay below Slack rate limits). This queue also needs to be bounded and communicate back pressure to producers. What unique value does Erlang provide here? Usually this kind of thing is built using Go and AWS Lambdas and SQS or Kafka. Where does Erlang/BEAM help here?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: