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

Michael Truog <>
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
     (see https://github.com/okeuday/sillymud)
   * 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:
     * cloudi_service_api:service_subscriptions/2
     * cloudi_service:recv_asyncs/4
     * cloudi_service:source_subscriptions/2
     * cloudi_service:context_options/1
     * cloudi_service:environment_transform/1
     * cloudi:trans_id_age/1
   * 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:
     * cloudi_service_http_cowboy
     * cloudi_service_http_elli
     * cloudi_service_tcp
   * 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
     (see https://github.com/CloudI/cloudi_core#readme)
   * 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!

74c4cad74536f2a8f62c8efab7c4c4f5e2277f8151cc9b827df25e17d48c2d6d cloudi-1.3.1.tar.bz2
8b4c23bffbb4cc5c10155e10496e85d14c91a22352cf27803ccb0b2aa94422d7 cloudi-1.3.1.tar.gz

More information about the erlang-questions mailing list