Coral is built on top of the following technologies:
Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
Akka can instantiate millions of actors which can perform complex event processing within milliseconds.
Cassandra is a distributed key-value columnar data store. It is resilient across multiple nodes, racks and data centers.
In Coral, Cassandra provides storage for the persistency layers for actors. It also stores meta-information of the Coral platform.
Scala is a programming language which combines object-oriented and functional elements. Functions are first-class citizens. Scala enables concise descriptions of functionality without being distracted by verbose syntax. In combination with Akka, it enables a clean way of working with failures, exceptions and multi-threading, all with very low code complexity.
Spray provides a small, embedded and super-fast HTTP server that is a great alternative to servlet containers. spray-can is fully asynchronous and can handle thousands of concurrent connections. It also supports request and response streaming, HTTP pipelining and SSL.
Spray is used in the Coral platform to connect service actors directly to API endpoints.