SHARDING WITH AKKA CLUSTER: FROM THEORY TO PRODUCTION
Writing distributed applications is very hard, especially when you start developing them as single-noded ones. Programmers tend to focus on functionalities first, leaving the scalability issues for later. Fortunately, Akka gives us many tools for scaling out and we can use them very early in the development process. You will learn how to take advantage of these features.
The talk is divided into two sections. In the first section you will learn how to transform a single-noded app into a scalable one. During live coding session we will create both versions from scratch and guide you through the most important architectural decisions.
Then we will move on to more important problems. During the second section we would like to simulate missile defence system and protect planet Earth against hostile aliens. Under the hood there will be Scala and Akka Cluster with sharding extension. After describing the application and its internals, we will simulate network and power failures to provide some idea how fast the application can recover.
4. Scala Tutorial
● case class
● pattern matching
case class Junction(id: Int)
public class Junction {
private final int id;
public Junction(int id) {
this.id = id;
}
public int getId() {
return id;
}
// hashCode
// equals
// copy
}
msg match {
case Junction(id) =>
// this will execute
// when msg is Junction
case SomeOtherType =>
}