-
-
Save Skyr/6031654 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hello Akka community, | |
I am currently writting my bachelor thesis "Comparison of Concurrency Frameworks for the JVM" | |
at the university of ulm in Germany. Since one qualitative property of an framework is also its | |
community and support I decided to check that by myself by asking this questions. This Gist repo | |
is thought to gather your ideas and oppinions about Akka relating to the questions below in oder | |
to improve my comparison. Feel free to answer as controversial as you want :). Just add the points | |
you miss. Thank you very much. | |
1. Why do you prefer Akka over other frameworks such as Gpars? | |
I love the abstraction levels of Akka. You can start by designing a (local) actor-based program, but still have the possibility to later distribute it over several instances or do fine-tuning via fine-grained configuration (types of Threadpools, Core pinning, etc.) all by just changing the configuration. This gives you access to a lot of low-level, hardware-oriented settings without losing the high abstraction level when writing your program. | |
One argument for using Akka is Scala; I really love the way of writing concise code while maintaining full type safety (the latter being one of the reasons why haven't done a lot of stuff with Gpars). For everyone not into Scala, Akka provides a decent Java interface, making it a good basis for compromises. | |
2. In which uses cases or type of use cases did you use Akka? | |
Generally speaking: State machines. You can either design each state as an actor, or having an actor instance for each process and traverse the states by sending messages to yourself. Both ways are nice to model and give readable code. I recently used it for modelling a small workflow engine. | |
Web applications (in combination with Spray or Play) seem to work very well, too. It is a good model for getting rid of the old "one request, one thread" thinking. | |
3. In which use cases is Akka especially good ? | |
See above. | |
4. In which use cases is Akka not the best choice relating to performance or even feasibility? | |
No practical experience - but I would guess that long-running computation jobs which heavily depend on their intermediate results would be rather unsuitable. It might feel unnatural to split a process into several steps just for the sake of giving the framework a possibility to assign a thread differently. | |
5. What features do you miss about Akka? (e.g. special development tools, further concepts, | |
language support etc.) | |
Some elegant way of static type checking for messages. Such errors seem to be rather rare, but it would give me a good feeling :-) | |
6. The next question can only be answered by the developers of Akka. What does the Future of | |
Akka will look like?(actual plans, ideals.... ) | |
Not an Akka dev :-) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment