4 ms·
These are medium sized. Remember in elixir it's perfectly convenient to map across a list by spawning a process for each element in the list and sending the fu
by rothbardrand 9y ago
These are medium sized. Remember in elixir it's perfectly convenient to map across a list by spawning a process for each element in the list and sending the function you want to map to that process, and then they collapse down and get reduced.
A process (or application) in elixir is no big deal, just think of it as a module or object that lives in its own process, probably has a set of processes and all that...
If you were writing this in go you might call it a monolith because all of those "Apps" would be in one single binary executable.
- ramchip 9y agoMy comment is about code organization, not process usage. You can have 6 separate apps and still do everything in a single process. By splitting into lots of sub-apps, you end up with a deep folder structure like `my_service/apps/s3/lib/s3/query.ex`, each app having its own versioning, configuration, tests, etc. That makes sense for a sizable codebase, but for a microservice, I don't think the added complexity is worth the benefit. It can be organized very cleanly with just modules and folders.