[erlang-questions] [ANN] CloudI 1.2.4 Released!
Michael Truog
mjtruog@REDACTED
Fri Jun 21 03:37:02 CEST 2013
Download 1.2.4 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, MySQL, couchdb, memcached, and tokyotyrant, the messaging bus ZeroMQ and the internal CloudI service bus. HTTP is also supported for easy integration with cowboy. If anyone is willing to get involved, don't hesitate to contact me or start looking at the code. Thank you for all the bug-reports, suggestions and questions so far!
This release is mainly for the fixes for R16B01 compilation, but there are other fixes (and websockets). The details are below:
June 20, 2013
Version 1.2.4 (beta) released.
* The external service "local" (i.e., "default") protocol configuration
option has been fixed and was tested on OSX successfully. The problem was
with the unix domain socket initialization, so it doesn't affect the
loadtest results done for the 1.2.2 release
(see https://github.com/okeuday/CloudI/raw/master/src/tests/http_req/loadtest/results_v1_2_2/201306_summary.pdf).
The default configuration external service protocol configuration, as well
as the quickstart remain with the "tcp" option, to avoid blocking
people that are not concerned about the efficiency benefits and give
more time for testing it.
* WebSockets support was added to the cloudi_service_http_cowboy
internal service. To handle websocket connections, just use the
"{use_websockets, true}" configuration option, as shown for port 6464
within the default configuration. The example is at:
https://github.com/okeuday/CloudI/raw/master/src/tests/http_req/public_html/websockets.html .
* Various fixes were added for the R16B01 release (crypto application usage)
* cowboy was updated to 0.8.6
* The cloudi_service_api module was added so that the CloudI Service API
can be accessed within the same VM with Erlang function calls
(the service providing JSON-RPC and HTTP integration for the CloudI
Service API had a name change from cloudi_service_api to
cloudi_service_api_requests)
* Two examples of different ways to release Erlang applications with
CloudI exist in the examples directory as hello_world1 and hello_world2.
hello_world1 shows how to let CloudI run your Erlang source code as a
service, while hello_world2 shows you a basic Erlang release that
with external source code that has CloudI as a dependency.
* Infrequent use cases of the internal service init function required some
fixes to prevent errnoeous usage. The functions send_sync and recv_async
should not be used within an internal service init function, similar to
the restriction on gen_server:call for the gen_server OTP/Erlang
behaviour (you can always send a message to self() and handle it within
the cloudi_service_handle_info/3 to utilize these functions).
Please mention any problems, issues, or ideas!
Thanks,
Michael
More information about the erlang-questions
mailing list