Akka Classic Remoting and Clustering
Make it big. Learn to use the power of clustering for large-scale, reactive distributed systems.
Distributed systems, baby.
If you're reading this, you're not just familiar with Akka, but you're probably pretty good already and you may have seen its power in action, like all these other places.
Here, we take things up a notch. We learn how to create truly distributed systems with distributed problems and distributed solutions. We spin up actors on other JVMs now. We learn to make many JVMs dance in clusters and handle things nicely if one stumbles.
After this course, you'll be able to:
- interact with actor systems on different JVMs or on other machines
- remotely deploy actors on other JVMs, and use them like they were your own
- use clustering for distributed fault-tolerant computation
- configure clusters and transport protocols
- coordinate large-scale distributed applications with Cluster Singleton
- distribute massive actors and logic with Cluster Sharding
- implement an imaginary London Tube infrastructure with clusters and sharding
Plus some extra perks:
- You'll have access to the entire code I write on camera (all 1214 lines of it)
- You'll be invited to our private Slack room where I'll share latest updates, discounts, talks, conferences, and recruitment opportunities
- (soon) You'll have access to the takeaway slides
- (soon) You'll be able to download the videos for your offline view
Skills you'll get:
-
Work with remote actors
- locate actors on other JVMs and other machines
- effectively use ActorSelection for remote access
- deploy actors remotely on other machines via configuration
- deploy actors remotely at runtime
-
Distribute applications with Clustering
- manage cluster membership
- distribute tasks in a cluster
- uniformly delegate tasks with cluster-aware routers
- configure seed clusters
- join any cluster programmatically at runtime
-
Benefit from true distributed fault-tolerance
- use Cluster Singleton in a distributed environment
- manage singleton life cycle
- split a massive actor or massive distributed logic into shards
- control how shards are created in a large-scale system
- balance the load of your distributed systems with sharding techniques
all with live runnable examples and practiced with exercises. We even create a simulation of the crowded London Underground system with Akka clusters and Cluster Sharding.
Get started now!
Your Instructor
I'm a software engineer and the founder of Rock the JVM. I started the Rock the JVM project out of love for Scala and the technologies it powers - they are all amazing tools and I want to share as much of my experience with them as I can.
As of February 2024, I've taught Java, Scala, Kotlin and related tech (e.g. Cats, ZIO, Spark) to 100000+ students at various levels and I've held live training sessions for some of the best companies in the industry, including Adobe and Apple. I've also taught university students who now work at Google and Facebook (among others), I've held Hour of Code for 7-year-olds and I've taught more than 35000 kids to code.
I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.