[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
cloudi_service_http_cowboy.
* ZeroMQ detection on OSX was fixed.
Please mention any problems, issues, or ideas!
Thanks,
Michael
More information about the erlang-questions
mailing list