[erlang-questions] [ANN] CloudI 1.5.0 Released!
Michael Truog
mjtruog@REDACTED
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