History and Roadmap - acaprojects/ruby-engine GitHub Wiki

A quick overview of where we've been and our plans for the future

ACA Control.net (2008 - 2012)

No official release. Was designed to support all the .NET supported languages, including IronRuby.

  • Thread pool with queues and job stealing
  • Language: .NET Framework and Silverlight

ACA Control (2012 - 2014)

First commercial release. Proved the model and highlighted limitations of the then design

  • Single reactor thread + thread pool
  • Database: SQLServer, PostgreSQL or MySQL
  • Authentication: LDAP
  • Language: Ruby

web console

system list

ACA Control drivers would run on ACA Engine, however there was no direct data migration.

ACA Engine v1 (2014 - 2018)

Re-architectured for performance and scalability.

  • Reactor per CPU core + thread pool
  • Database: Couchbase + ElasticSearch
  • Authentication: *any
  • Language: Ruby and jRuby

Initial Release 1.0

live debug console

Metrics and Triggers Release 1.5 (2016)

Engine V1 and V2 are 100% compatible at both a driver and database level.

ACA Engine v2 (2017 - 2024)

Current release. Improved reactors, database adaptors and more flexible multi-node scaling, among other features.

  • Reactor per CPU core + first class fibers
    • Thread pool remains only as a tool for drivers
  • Database: Couchbase + ElasticSearch OR Couchbase Lite Core
  • Authentication: *any
  • Language: Ruby, jRuby and Rubinius

Testing and Interactive debugging in the browser

Testing and Debugging

ACA Engine Next

Multi-process and make use of compiled code without compromising live updates.