在swift集群中运行计算的openstack swift计算框架的中间件和计算引擎
storlets的Python项目详细描述
Storlet通过运行用户定义的计算来扩展Swift -称为Storlet—以安全和隔离的方式靠近数据。 Storlet是一个编译和打包的代码(例如.jar文件),可以是 作为任何其他对象上载到swift。 一旦上传,storlet就可以在swift中通过数据对象调用。 Storlets API在 “Storlets API v1”。
该项目最初是一个ibm研究项目,2014年由ibm开源。
-
在卡斯帕、SCORE和VIEW云项目的赠款协议下,欧洲共同体第七框架计划(FP7/2007—2013)资助了这项法规的发展。
- 本准则制定的各个阶段和不同方面都得到了以下欧洲共同体框架方案的资助:
- 第七个框架方案(FP7/2007-2013),根据ForgeTit项目的赠款协议,其中代码用于将数字保存功能卸载到存储器。
- COSMOS项目赠款协议下的第七个框架方案(FP7/2007-2013),该方案使用该准则分析物联网数据。
- 第七个框架计划(FP7/2007-2013),根据FI-CORE项目的授权协议,其中代码与整体云部署解决方案集成,并且来自
- 根据iostack项目的授权协议,horizon 2020(h2020/2014-2020),代码用作后端实现存储策略,并用于分析
文档
Storlerts文档在每次提交后自动生成,并且可用 在线https://storlets.readthedocs.io/en/latest/
用户入门
最快的开始方法是 “S2AIO - Swift Storlets All In One”。
对于发动机开发人员
开始
开始的最佳方法是遵循本指南: “Installing a Development Environment”。
测试
Storlet回购中包含两种类型的测试。
- Unit tests
- Functional tests
单元测试,是,嗯,单元测试…功能测试是验证 使用各种Storlet(包括故障Storlet)的端到端场景。了解更多信息 请参阅: “Development and Testing Guide”。
代码组织
- engine/:包含中间件和计算引擎的代码
- sbus/:中间件和沙盒之间的协议层,用于执行storlet
- sbusjavafacade/:协议的java实现
- sbuspythonfeacade/:协议的python实现
- sbustransportlayer/:c中的一个薄层,用于在中间件和容器之间传递fds
- scomon/:Storlet开发所需的Java库
- sdaemon/:用于在运行时加载Storlet的通用Java守护程序
- smscripts/:用于执行Docker管理命令的运行时脚本
- agent/:docker-side storlet进程管理的python代码
- swift/:python swift side代码
- etc/:示例配置文件
- storlet_gateway/:用于管理storlet执行的运行时可加载代码
- storlet_middleware/:处理storlet调用请求的swift中间件
- sbus/:中间件和沙盒之间的协议层,用于执行storlet
- storletsamples/:storlets示例,用于功能测试
- doc/source/:文档
- install/:安装脚本
- swift/:调用扩展swift ansible安装脚本
- storlets/:用于在swift集群上安装storlets的脚本
- 测试/:单元和功能测试
- tools/:用于自动和手动测试的各种与群集配置相关的工具
对于Storlet开发人员
目前,Storlet只能用Java开发。 要开始,请执行以下操作: “S2AIO - Swift Storlets All In One”。
写入和部署一只鹳,跟着: “Writing and deploying storelts”。
对于展开器
如何在现有SWIFT集群(不SAIO)上部署小程序的指令: “Deploying storlets over an existing Swift cluster”。