浏览 2593 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-09
最后修改:2010-03-09
基于Erlang的云平台 看了下代码 质量还是不错的 完成了不少, 兴趣的同学可以参观下
CloudI 0.0.9 (alpha) Homepage: http://cloudi.org Download: http://sourceforge.net/projects/cloudi/files/0.0.9a/cloudi-0.0.9.tar.gz/download Source: http://github.com/okeuday/CloudI/tree/master#readme ABOUT CloudI is an open-source private cloud computing framework for secure, internal data processing. CloudI facilitates a cloud of processes for solving embarrassingly parallel and divide and conquer problems with dynamic load balancing work pools while maintaining fault-tolerant workers. CloudI requires pool data from databases or from an Erlang work module that will automatically generate the work. CloudI was designed to be a multi-purpose cloud for internal distributed processing and could facilitate work supplied by an external server. CloudI is currently focused on being an abstract type of cloud and interfacing to work. External applications could manage security and a user interface for CloudI's functionality. CloudI is meant to be the bare essentials for efficient fault-tolerant processing on a cloud. CloudI uses Erlang/OTP to provide fault-tolerance. CloudI work consists of an Erlang module to handle allocating the work as tasks and a dynamic library created with C/C++ to execute the work. An example of using CloudI can be found in "src/lib/cloud_job_tests/src/", which defines the work title "cloud_job_tests" referenced in src/cloud.conf. "cloud_job_tests" finds hexadecimal digits of the constant PI using the Bailey-Borwein-Plouffe formula and verifies that they are correct. "cloud_job_tests" requires that PostgreSQL is configured and setup because it stores the results. Memcached is also used by "cloud_job_tests", but any results that would go to memcached are discarded if memcached isn't configured. CouchDB, MySQL and Tokyo Tyrant are used by "cloud_job_tests" in the same way as memcached (i.e., just to test basic data storage functionality). CloudI currently supports the following databases: * CouchDB (>= 0.9.0) * memcached (>= 1.3) * MySQL (>= 4.0) * PostgreSQL (>= 7.4) * Tokyo Tyrant (>= 1.1.23) CloudI ensures that the C/C++ work code is executed in a fault-tolerant way. Failover is handled with multiple CloudI instances using separate epmd daemons. However, the coordination of the failover of running work is not yet implemented, since that will occur in a separate external application that is not yet written. Current failover requires knowledge of the cloud_api module and commands fed to the Erlang VM shell, so it is a manual process. CloudI fault-tolerance test cases include: * a local death of a CloudI instance coordinating Erlang VM * a local death of C/C++ work code (within a cloud_worker_port OS process) due to a signal * a local stop of C/C++ work code (within a cloud_worker_port OS process) due to a signal * a remote death of a CloudI instance Erlang VM * a remote death of C/C++ work code (within a cloud_worker_port OS process) due to a signal * a remote stop of C/C++ work code (within a cloud_worker_port OS process) due to a signal 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-11
希望版本越来越高
|
|
返回顶楼 | |