[erlang-questions] [ANN] CloudI 1.2.5 Released!

Michael Truog mjtruog@REDACTED
Fri Aug 9 21:22:57 CEST 2013

Download 1.2.5 from http://sourceforge.net/projects/cloudi/files/latest/download

What is CloudI?
A Cloud at the lowest level!

CloudI (http://cloudi.org/) is a "universal integrator" using an Erlang core, with its actor model, to pursue efficiency, fault-tolerance and scalability. The CloudI API provides a minimal interface to communicate among actors that are called services, so programming language agnostic, database agnostic, and messaging bus agnostic integration can occur. CloudI currently integrates with the programming languages Erlang, C/C++, Java, Python, and Ruby, the databases PostgreSQL, elasticsearch, MySQL, couchdb, memcached, and tokyotyrant, the messaging bus ZeroMQ and the internal CloudI service bus. HTTP is also supported for easy integration with cowboy and elli. If anyone is willing to get involved, don't hesitate to contact me or start looking at the code.

Thanks to Mahesh Paolini-Subramanya for the elasticsearch integration, integration help from Juan Jose Comellas and Lukas Larsson for testing/validation, et. al. (tell me if your name isn't mentioned in the AUTHORS file).  The details for this release are below:

  * elasticsearch integration was added in cloudi_service_db_elasticsearch.
  * External service configuration strings provided for the executable
    file path, the executable command line arguments, and the executable
    environment variables, now can expand environment variables set in the
    shell executing the Erlang VM (e.g., "$USER" or "${USER}" syntax).
  * Internal services now have a few more service configuration options:
    * hibernate - always makes the service processes hibernate to conserve
      memory by doing extra garbage collection processing
    * reload - will automatically reload the service module or all modules
      within a service application when the beam file is updated
  * Both external and internal services can set the scope
    service configuration option to give service name lookups and subscriptions
    a separate scope, minimizing contention when using an immediate destination
    refresh method.
  * Tests with common test, eunit, and PropEr are now used to validate the
    build. An initial common test was added to test cloudi_service_db_pgsql.
  * The cloudi Erlang module received fixes so that it is a better match to the
    subset of the CloudI API (the cloudi_service Erlang module) it implements.
  * The services_search function was added to the CloudI Service API which
    returns the services that have subscribed to a service name.
  * cloudi_service:service_name_parse/2 was added to make it simpler to
    parse service name patterns.
  * The cloudi_core Erlang application is now the only dependency required
    when including CloudI in an Erlang release. See the hello_world2
    example for details.
  * rebar integration for using the CloudI repository as a rebar dependency
    was added. See the hello_world3 example for details.
  * Added a lot of configuration validation to prevent any problems with
    invalid configuration data for services, ACLs, etc.
  * Small fixes and additions were added to the websockets integration within
    cloudi_service_http_cowboy. use_client_ip_prefix is a new option
    within cloudi_service_http_cowboy.
  * cloudi_service_http_elli was added to provide elli integration.
    More load testing is required to determine how it compares to
  * ZeroMQ detection on OSX was fixed.

Please mention any problems, issues, or ideas!

More information about the erlang-questions mailing list