Skip to content
Orbit - Virtual actor framework for building distributed systems
Branch: master
Clone or download
Pull request Compare This branch is 3 commits ahead, 12 commits behind orbit:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
actors
commons
.gitignore
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
eclipse-code-style.epf
pom.xml

README.md

Orbit Logo

Release Maven Central Javadocs Build Status Gitter Twitter Follow

Orbit is a framework to write distributed systems using virtual actors on the JVM. It allows developers to write highly distributed and scalable applications while greatly simplifying clustering, discovery, networking, state management, actor lifetime and more.

Duke's Choice Award Logo
Orbit received the 2016 Duke's Choice Award for Open Source, read here for more information.

Full Documentation

See the Wiki for full documentation, examples and other information.

Developer & License

This project was developed by Electronic Arts and is licensed under the BSD 3-Clause License.

Simple Example

Java

public interface Hello extends Actor
{
    Task<String> sayHello(String greeting);
}

public class HelloActor extends AbstractActor implements Hello
{
    public Task<String> sayHello(String greeting)
    {
        getLogger().info("Here: " + greeting);
        return Task.fromValue("Hello There");
    }
}

Actor.getReference(Hello.class, "0").sayHello("Meep Meep");

Scala

trait Hello extends Actor 
{
  def sayHello(greeting: String): Task[String]
}

class HelloActor extends AbstractActor[AnyRef] with Hello 
{
  def sayHello(greeting: String): Task[String] = 
  {
    getLogger.info("Here: " + greeting)
    Task.fromValue("Hello There")
  }
}

Actor.getReference(classOf[Hello], "0").sayHello("Meep Meep")
You can’t perform that action at this time.