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

Daniel Ciocîrlan
Daniel Ciocîrlan

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.


Frequently Asked Questions

How long is the course? Will I have time for it?
The course is ~7 hours in length, with lectures around 20 minutes each. I recommend at least 1 hour of focused learning at one time, as some topics are split in between multiple videos.
How is a usual lesson like?
Code is king, and we write it from scratch. In a typical lesson I'll explain some concepts, either briefly on a diagram or directly in the code. We then run live examples, and usually I'll finish the lesson with some exercises, which I then solve on camera after you've tried them yourself.
Can I expense this at my company?
Of course! You'll get a detailed receipt with your purchase, including VAT (if applicable to you), which you can take to your employer to reimburse. Most (wise) companies will reimburse courses like this.
Is this course hard?
Only if you've never done Scala or Akka before. I've designed the course to give you a challenge, but not too much that it becomes frustrating. In case you struggle with something, we have a whole group on Slack for discussions, and I'm responsive.
I've never written Scala or Akka before. Should I take this course?I've
You shouldn't. The course is for Scala programmers who are already familiar with Akka. Even though we do a bit of a recap at the beginning of the course to make sure we're all on the same page, that part is not enough to give you confident skills if you've never seen actors before.
I'm comfortable with Scala and Akka and I need to make my system distributed. Should I take this course?
Yes! This course is for you.
Daniel, I want to join but I can't afford it.
For a while, I offered discounts for the Rock the JVM courses to whomever needed them. But then I looked at the stats: almost nobody who took them actually completed any course. The full-price students were 3x as likely to complete the course. So I'm not offering discounts anymore. This course will pay off if you commit.
What if I don't like the course?
Then I want to give your money back. Email me at [email protected] with your receipt, and I will refund you. Less than 1% of the Rock the JVM students have refunded a course, and the refund took less than 72 hours.