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

Michael Truog <>
Mon Apr 13 09:55:10 CEST 2015


Download 1.5.0 from http://sourceforge.net/projects/cloudi/files/latest/download
(checksums at the bottom of this email)

CloudI (http://cloudi.org/) is a "universal integrator" using an Erlang core to
provide fault-tolerance with efficiency and scalability.  The CloudI API
provides a minimal interface to communicate among services so programming
language agnostic, database agnostic, and messaging bus agnostic integration
can occur.  CloudI currently integrates with the programming languages
C/C++, Elixir, Erlang, Java, JavaScript, PHP, Perl, Python, and Ruby, the
databases PostgreSQL, elasticsearch, Cassandra, MySQL, couchdb, memcached,
riak, and tokyotyrant, the messaging bus ZeroMQ, websockets, and the internal
CloudI service bus.  HTTP is supported with both cowboy and elli integration.

The details for this release are below:
   * backwards compatibility difference:
     * cloudi module (Erlang/Elixir-only usage) now returns a 2 element tuple
       with the 1st element as the result (original return value) and the
       2nd element as the modified Context data (or the Dispatcher pid if a
       Dispatcher pid was provided instead of a Context)
       * Was a necessary change to keep the transaction id time as
         strictly monotonically increasing with the changes in Erlang 18.x
         that deprecate erlang:now/0
       * Allows a lazy destination refresh to update the service name lookup
         data so the developer doesn't need to handle the update manually
       * The change impacted the return value of internal service
         external interface functions
       * The service application was changed to depend only on the
         cloudi_service module instead of the cloudi module to
         make its usage clearer and avoid Dispatcher pid value handling
       * Despite the return value changes, only the minor version number
         of CloudI was incremented due to the interfaces being outside the
         main documentation
   * External services can now set OS process resource limits with the
     'limit' service configuration option
     (http://cloudi.org/api.html#2_services_add_config_opts_limit)
   * A few new CloudI data structures:
     cloudi_queue, cloudi_future, cloudi_service_future
     (cloudi_queue can handle service request validation, failures, and retries
      with in-memory internal service data)
     (cloudi_future and cloudi_service_future provide Futures for
      Erlang processes (sending to CloudI services) and
      internal CloudI services, respectively)
   * cloudi_service_validate is a new CloudI service for validating
     service requests with the requests using the service as a proxy
     (similar functionality was added to cloudi_service_quorum and
      cloudi_service_router, though cloudi_service_router is forwarding
      the service request instead of sending it)
   * The Python CloudI API now handles unicode stdout/stderr data properly
     (immediate flushing of stdout/stderr is now fixed for Python 3 usage)
   * Bugs were fixed and more documentation was added
     (see the ChangeLog for more detail)

Please mention any problems, issues, or ideas!
Thanks,
Michael

SHA256 CHECKSUMS
0ba7174780b6a0b699d909bc41ddc0d5596cd027539e5d9a271ff3250b60dd9c cloudi-1.5.0.tar.bz2 (10960 bytes)
94fdebeb7406bc360f6858e08c846ab6c8bd8707a8597da00b61f513d9ea99df cloudi-1.5.0.tar.gz (13616 bytes)


More information about the erlang-questions mailing list