[erlang-questions] [ANN] CloudI 1.3.1 Released!
Mon Feb 3 07:10:12 CET 2014
Download 1.3.1 from http://sourceforge.net/projects/cloudi/files/latest/download (checksums at the bottom of this email)
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, Cassandra, 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.
There is an old game server (a MUD known as SillyMUD) which has CloudI integration at https://github.com/okeuday/sillymud . If you want to play it, it is currently hosted at https://cloudi.org/sillymud/client.html . It takes awhile for it to load with SSL but is quite snappy afterwards. You will need websockets support in your browser, so you probably want to use chromium.
Thanks for the various feedback/issues/bugs that have been reported. The details for this release are below:
February 1, 2014
Version 1.3.1 (beta) released.
* Added a demo of CloudI scaling a game server (a MUD) that is 20+ years old
* Added the service configuration option count_process_dynamic to
dynamically adjust the number of service processes based on the
incoming service request rate
* The hibernate service configuration option can provide
rate based service hibernation now
* The C++ CloudI API can provide backtrace information from
CloudI::API::backtrace() when configured using --with-cxx-backtrace
* A few of the new internal service functions:
* The cloudi module can use lazy destination refresh methods and works best if
you update the destination data with the cloudi:destinations_refresh/2
* Latency of the following services was reduced:
* Fixed cloudi_service_quorum and added a byzantine mode
* Added the cloudi_service_router internal service
* The cloudi_service_filesystem can refresh its data after a
configured time period
* Now CloudI has separate repositories for each CloudI Erlang application
if you want only internal service support with simple rebar integration
* The service Erlang application is provided to make service creation
a bit less complex (see https://github.com/CloudI/service)
* The automatic loading of an internal service can be disabled with the
automatic_loading service configuration option set to false
(see the hello_world5 example to understand why)
* Service configuration now can use a proplist format, if you dislike
the tuple format
(see https://github.com/CloudI/CloudI/blob/master/examples/hello_world5/apps/hello_world5/src/hello_world5_app.erl#L57 or
* Various bugfixes, small additions, and documentation improvements
Please mention any problems, issues, or ideas!
More information about the erlang-questions