Akka 初识
2019-08-28 本文已影响0人
OPice
什么是Akka
akka是java虚拟机JVM平台上构建高并发、分布式和容错应用的工具包和运行时。
为什么用akka
1、异步、无阻塞且高性能的消息驱动
2、非常轻量级的事件驱动(event-driver)
3、高容错性、从不宕机的高容错系统
4、在分布式环境下,所有交互由异步消息实现
一个简单的例子
import akka.actor.{Actor, ActorLogging, ActorRef, ActorSystem, Props}
/**
* 定义一个robot actor
*/
class Robot extends Actor with ActorLogging {
override def receive = {
//接收到消息类型匹配
case msg: String => {
log.info("accept:{}", msg)
}
}
}
object Hello extends App {
//创建一个actorSystem
val system = ActorSystem("HelloActor")
//创建一个名称为robotActor 的 actorRef
val robotActor: ActorRef = system.actorOf(Props(new Robot()), "robotActor")
//向robotActor 发送hello
robotActor ! "hello"
}
执行结果: accept:hello