This page is no longer maintained — Please continue to the home page at www.scala-lang.org

ANN: Akka Actor Kernel: RESTful Distributed Persistent Transactional Actors

3 replies
Jonas Bonér
Joined: 2008-12-19,
User offline. Last seen 42 years 45 weeks ago.

Hi guys.

I just released the first iteration of the Akka Actor Kernel (or
whatever it is).
It is still early days and there is a lot still to do.

I would be grateful for any kind of feedback, both on the code as well
as the APIs, semantics or vision.

Here is a short overview of what it currently does:

* The Actor model and supervisor hierarchies
Actors with Erlang OTP-style supervisors and “embrace
failure/let-it-crash” semantics to allow implementation of
asynchronous, non-blocking and highly fault-tolerant systems. Sort of
SEDA in a box with highly configurable and monitorable (JMX and w3c)
thread pools and message queues.

* Software Transactional Memory (STM)
Software Transactional Memory for composable message flows.
Distributed transactions will come very soon, backed up by ZooKeeper.
The STM works with both persistent datastructures and in-memory
datastructures (see below).

* BASE: Eventually Consistent Distributed persistence
Akka provides a Eventually Consistent Transactional Persistent Map,
Vector and Ref. Backed up by the Cassandra highly scalable, eventually
consistent, distributed, structured key-value store. Akka will add
support for Terracotta, Redis, Memcached, Voldemort, Tokyo
Cabinet/Tyrant and Hazelcast shortly.
New nodes can be added and removed on the fly to support true scaling
of cluster. The addition of Terracotta and Hazelcast will allow for
atomic (ACID) transactions (non-BASE).

* REST
Actors can be exposed as REST services through JAX-RS.

* Remoting
Actors can be defined and started on remote nodes, supporting both
remote failures and supervision/linking. Enabling another dimension of
fault-tolerance.

* Java and Scala API
Both a Java API through Active Objects and annotations as well as a
Scala API with Erlang-style Actors with pattern matching etc.

* Microkernel
Akka has a microkernel that embeds the Actor management, Persistence
service, REST integration, JMX management and Remote service. Simply
drop your application in the /deploy directory and start up the kernel
and you should be able to access your Actors through REST.

Start with reading the docs and play with the samples.

Docs: https://github.com/jboner/akka/wikis/
Downloads: https://github.com/jboner/akka/downloads
Code: https://github.com/jboner/akka/tree/master

Some of the stuff we are planning on adding are listed at the bottom
of the docs page.

Thanks.

rossputin
Joined: 2009-02-26,
User offline. Last seen 2 years 12 weeks ago.
Re: ANN: Akka Actor Kernel: RESTful Distributed Persistent Tran

Hi Jonas.

Looks fantastic.. shame it was not out a month earlier, I am just putting
the finishing touches on my scala-otp integration in my business critical
project :-) Once you have the listed Spring integration rolled in, I will
look at a new branch to integrate this.. provided I can get my head round
all the new technologies!

Cheers,

Ross

Jonas Bonér-6 wrote:
>
> Hi guys.
>
> I just released the first iteration of the Akka Actor Kernel (or
> whatever it is).
> It is still early days and there is a lot still to do.
>
> I would be grateful for any kind of feedback, both on the code as well
> as the APIs, semantics or vision.
>
> Here is a short overview of what it currently does:
>
> * The Actor model and supervisor hierarchies
> Actors with Erlang OTP-style supervisors and “embrace
> failure/let-it-crash” semantics to allow implementation of
> asynchronous, non-blocking and highly fault-tolerant systems. Sort of
> SEDA in a box with highly configurable and monitorable (JMX and w3c)
> thread pools and message queues.
>
> * Software Transactional Memory (STM)
> Software Transactional Memory for composable message flows.
> Distributed transactions will come very soon, backed up by ZooKeeper.
> The STM works with both persistent datastructures and in-memory
> datastructures (see below).
>
> * BASE: Eventually Consistent Distributed persistence
> Akka provides a Eventually Consistent Transactional Persistent Map,
> Vector and Ref. Backed up by the Cassandra highly scalable, eventually
> consistent, distributed, structured key-value store. Akka will add
> support for Terracotta, Redis, Memcached, Voldemort, Tokyo
> Cabinet/Tyrant and Hazelcast shortly.
> New nodes can be added and removed on the fly to support true scaling
> of cluster. The addition of Terracotta and Hazelcast will allow for
> atomic (ACID) transactions (non-BASE).
>
> * REST
> Actors can be exposed as REST services through JAX-RS.
>
> * Remoting
> Actors can be defined and started on remote nodes, supporting both
> remote failures and supervision/linking. Enabling another dimension of
> fault-tolerance.
>
> * Java and Scala API
> Both a Java API through Active Objects and annotations as well as a
> Scala API with Erlang-style Actors with pattern matching etc.
>
> * Microkernel
> Akka has a microkernel that embeds the Actor management, Persistence
> service, REST integration, JMX management and Remote service. Simply
> drop your application in the /deploy directory and start up the kernel
> and you should be able to access your Actors through REST.
>
> Start with reading the docs and play with the samples.
>
> Docs: https://github.com/jboner/akka/wikis/
> Downloads: https://github.com/jboner/akka/downloads
> Code: https://github.com/jboner/akka/tree/master
>
> Some of the stuff we are planning on adding are listed at the bottom
> of the docs page.
>
> Thanks.

Viktor Klang
Joined: 2008-12-17,
User offline. Last seen 1 year 27 weeks ago.
Re: ANN: Akka Actor Kernel: RESTful Distributed Persistent Tra
I've made a fork with an embedded Maven repo, which should enable a smooth install.

If it works out well, Jonas will merge it into the master when he gets back from his vacation. :)

git clone URL: git://github.com/viktorklang/akka.git

On Mon, Jul 13, 2009 at 5:14 PM, rossputin <rossajmcd [at] yahoo [dot] co [dot] uk> wrote:

Hi Jonas.

Looks fantastic.. shame it was not out a month earlier, I am just putting
the finishing touches on my scala-otp integration in my business critical
project :-)  Once you have the listed Spring integration rolled in, I will
look at a new branch to integrate this.. provided I can get my head round
all the new technologies!

Cheers,

Ross



Jonas Bonér-6 wrote:
>
> Hi guys.
>
> I just released the first iteration of the Akka Actor Kernel (or
> whatever it is).
> It is still early days and there is a lot still to do.
>
> I would be grateful for any kind of feedback, both on the code as well
> as the APIs, semantics or vision.
>
> Here is a short overview of what it currently does:
>
> * The Actor model and supervisor hierarchies
> Actors with Erlang OTP-style supervisors and “embrace
> failure/let-it-crash” semantics to allow implementation of
> asynchronous, non-blocking and highly fault-tolerant systems. Sort of
> SEDA in a box with highly configurable and monitorable (JMX and w3c)
> thread pools and message queues.
>
> * Software Transactional Memory (STM)
> Software Transactional Memory for composable message flows.
> Distributed transactions will come very soon, backed up by ZooKeeper.
> The STM works with both persistent datastructures and in-memory
> datastructures (see below).
>
> * BASE: Eventually Consistent Distributed persistence
> Akka provides a Eventually Consistent Transactional Persistent Map,
> Vector and Ref. Backed up by the Cassandra highly scalable, eventually
> consistent, distributed, structured key-value store. Akka will add
> support for Terracotta, Redis, Memcached, Voldemort, Tokyo
> Cabinet/Tyrant and Hazelcast shortly.
> New nodes can be added and removed on the fly to support true scaling
> of cluster. The addition of Terracotta and Hazelcast will allow for
> atomic (ACID) transactions (non-BASE).
>
> * REST
> Actors can be exposed as REST services through JAX-RS.
>
> * Remoting
> Actors can be defined and started on remote nodes, supporting both
> remote failures and supervision/linking. Enabling another dimension of
> fault-tolerance.
>
> * Java and Scala API
> Both a Java API through Active Objects and annotations as well as a
> Scala API with Erlang-style Actors with pattern matching etc.
>
> * Microkernel
> Akka has a microkernel that embeds the Actor management, Persistence
> service, REST integration, JMX management and Remote service. Simply
> drop your application in the /deploy directory and start up the kernel
> and you should be able to access your Actors through REST.
>
> Start with reading the docs and play with the samples.
>
> Docs: https://github.com/jboner/akka/wikis/
> Downloads: https://github.com/jboner/akka/downloads
> Code: https://github.com/jboner/akka/tree/master
>
> Some of the stuff we are planning on adding are listed at the bottom
> of the docs page.
>
> Thanks.
> --
> Jonas Bonér
>
> twitter: @jboner
> blog:    http://jonasboner.com
> work:   http://crisp.se
> work:   http://scalablesolutions.se
> code:   http://github.com/jboner
>
>

--
View this message in context: http://www.nabble.com/ANN%3A-Akka-Actor-Kernel%3A-RESTful-Distributed-Persistent-Transactional--Actors-tp24453255p24463650.html
Sent from the Scala - User mailing list archive at Nabble.com.




--
Viktor Klang

Java Specialist
Scala Loudmouth
Lift Committer
Jonas Bonér
Joined: 2008-12-19,
User offline. Last seen 42 years 45 weeks ago.
Re: ANN: Akka Actor Kernel: RESTful Distributed Persistent Tra

Thanks Viktor.
I'll try to merge that during the weekend.
/Jonas

2009/7/15 Viktor Klang :
> I've made a fork with an embedded Maven repo, which should enable a smooth
> install.
>
> If it works out well, Jonas will merge it into the master when he gets back
> from his vacation. :)
>
> git clone URL: git://github.com/viktorklang/akka.git
>
> On Mon, Jul 13, 2009 at 5:14 PM, rossputin wrote:
>>
>> Hi Jonas.
>>
>> Looks fantastic.. shame it was not out a month earlier, I am just putting
>> the finishing touches on my scala-otp integration in my business critical
>> project :-)  Once you have the listed Spring integration rolled in, I will
>> look at a new branch to integrate this.. provided I can get my head round
>> all the new technologies!
>>
>> Cheers,
>>
>> Ross
>>
>>
>>
>> Jonas Bonér-6 wrote:
>> >
>> > Hi guys.
>> >
>> > I just released the first iteration of the Akka Actor Kernel (or
>> > whatever it is).
>> > It is still early days and there is a lot still to do.
>> >
>> > I would be grateful for any kind of feedback, both on the code as well
>> > as the APIs, semantics or vision.
>> >
>> > Here is a short overview of what it currently does:
>> >
>> > * The Actor model and supervisor hierarchies
>> > Actors with Erlang OTP-style supervisors and “embrace
>> > failure/let-it-crash” semantics to allow implementation of
>> > asynchronous, non-blocking and highly fault-tolerant systems. Sort of
>> > SEDA in a box with highly configurable and monitorable (JMX and w3c)
>> > thread pools and message queues.
>> >
>> > * Software Transactional Memory (STM)
>> > Software Transactional Memory for composable message flows.
>> > Distributed transactions will come very soon, backed up by ZooKeeper.
>> > The STM works with both persistent datastructures and in-memory
>> > datastructures (see below).
>> >
>> > * BASE: Eventually Consistent Distributed persistence
>> > Akka provides a Eventually Consistent Transactional Persistent Map,
>> > Vector and Ref. Backed up by the Cassandra highly scalable, eventually
>> > consistent, distributed, structured key-value store. Akka will add
>> > support for Terracotta, Redis, Memcached, Voldemort, Tokyo
>> > Cabinet/Tyrant and Hazelcast shortly.
>> > New nodes can be added and removed on the fly to support true scaling
>> > of cluster. The addition of Terracotta and Hazelcast will allow for
>> > atomic (ACID) transactions (non-BASE).
>> >
>> > * REST
>> > Actors can be exposed as REST services through JAX-RS.
>> >
>> > * Remoting
>> > Actors can be defined and started on remote nodes, supporting both
>> > remote failures and supervision/linking. Enabling another dimension of
>> > fault-tolerance.
>> >
>> > * Java and Scala API
>> > Both a Java API through Active Objects and annotations as well as a
>> > Scala API with Erlang-style Actors with pattern matching etc.
>> >
>> > * Microkernel
>> > Akka has a microkernel that embeds the Actor management, Persistence
>> > service, REST integration, JMX management and Remote service. Simply
>> > drop your application in the /deploy directory and start up the kernel
>> > and you should be able to access your Actors through REST.
>> >
>> > Start with reading the docs and play with the samples.
>> >
>> > Docs: https://github.com/jboner/akka/wikis/
>> > Downloads: https://github.com/jboner/akka/downloads
>> > Code: https://github.com/jboner/akka/tree/master
>> >
>> > Some of the stuff we are planning on adding are listed at the bottom
>> > of the docs page.
>> >
>> > Thanks.
>> > --
>> > Jonas Bonér
>> >
>> > twitter: @jboner
>> > blog:    http://jonasboner.com
>> > work:   http://crisp.se
>> > work:   http://scalablesolutions.se
>> > code:   http://github.com/jboner
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/ANN%3A-Akka-Actor-Kernel%3A-RESTful-Distributed-Pe...
>> Sent from the Scala - User mailing list archive at Nabble.com.
>>
>
>
>
> --
> Viktor Klang
>
> Java Specialist
> Scala Loudmouth
> Lift Committer
>

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland