Kontraktor 介绍
Kontraktor 是一个 Java 编写的轻量级高效 Actor 模型实现。可以直接暴露 Actor 提供 TCP 服务、WebService 或者
WebSockets,从 JavaScript 客户端调用 Actor 方法,用 JavaScript 实现 Actor 并通过 Java 调用。
也是适用于 Java 8,面向(微)服务的分布式 Actor 模型实现。
特性
-
简单的并发性
-
写一次,处处运行
-
高性能
免费模板和 typed Actors
Kontraktor 使用普通的旧方法来隐式定义 Actor 消息。所以不需要定义“消息”类。这样,继承,接口,重构,代码完成和 Pojo 的方式一样。
public class HelloActor extends Actor<HelloActor> { public IPromise greet( String name ) { return new Promise("Hello "+name); } public static void main(String a[]) { HelloActor myService = AsActor(HelloActor.class); System.out.println( myService.greet("Kontraktor").await() ); } }
可以用“单线程角色的共享/消息传递”替换 Java 的“多线程/共享数据并发”模型。 不过 Kontraktor 在 Java
多线程编程方面表现良好,根据需要搭配使用。