写点什么

Infiniflow:基于 OSGI 和 SCA 的下一代分布式应用服务器

  • 2008-02-21
  • 本文字数:1716 字

    阅读完需:约 6 分钟

Paremus 最近发布了 Infiniflow 的1.2 版,它是基于OSGi 和SCA 的下一代分布式应用服务器。InfoQ 采访了Paremus 的市场经理Andrew Rowney 以了解关于这次发布和Infiniflow 的新的应用服务器模型的更多细节。

Rowney 首先说明 Infiniflow 是基于 OSGi SCA 的,这使它按照应用服务器的范式——组件被写成一系列的 OSGi 模块,通过 SCA 绑定被链接到外部服务,并且 Infiniflow 为部署于其上的应用提供了生命周期管理、监视、伸缩性和故障恢复功能。Rowney 还给出了使用 Infiniflow 开发应用的最佳实践:

要利用 Infiniflow 的全部能力,应用需要被作为组合应用提供,而非一个单一运行时实体,不同组件(OSGi bundles)处理需求的不同部分。一个好的例子就是组合应用中包含密集型计算的部分可以被并行运行,这会减少整体处理时间。对于这种类型的应用,开发 者可以指定 Infiniflow 应该复制运行这个计算的 bundle,尽可能多的实例化拷贝以使最终结果尽可能的快。这可以被认为是网格运算,但是这种方 式不要求一个昂贵的专用“网格竖井”,而是把硬件共享给其它应用(应用也在 Infiniflow 控制之下,Infiniflow 可以自动地分配资源和管理 任何内容)。

Infiniflow 的主要特性:

  • 支持主流 OSGi 容器 —— 应用部署支持 Equinox、Felix 和 Knopflerfish OSGi 运行时容器。
  • 符合 SCA —— Infiniflow 实现了 SCA 规范 0.96,今年年中有望支持 1.0。
  • 开源基础 —— Infiniflow 建构在 Newton 之上,它的开源许可证协议是 GNU General Public License
  • 支持 Spring 动态模块 —— 因为 Spring 动态模块应用是 OSGi 兼容的,自然被 Infiniflow 支持。
  • 自动的伸缩性 —— Infiniflow 自动根据应用的 SCA 系统描述伸缩应用。
  • 自相似(Self-similar)架构 —— Infiniflow 自身构建就使用 OSGi,并且使用 SCA 连接到一起。
  • 基于 Eclipse 的工具 —— 一个基于 Eclipse 的插件可以部署和测试 Infiniflow 内部应用
  • 自动故障恢复 —— 如果一个资源失效,失效的组件将自动地由其它服务器上的重新供应。
  • 模型驱动架构 —— 为了减少操作复杂度,应用程序运行时只能通过它们的 SCA 系统描述符修改,与描述符的所有交互都是被保护和经过审计的。

InfoQ 要求 Rowney 更详细地解释 Infiniflow 处理应用伸缩性的方式:

一个 Infiniflow 服务结构(Service Fabric)由一组 Infiniflow 容器组成—— 启用 OSGi 的 JVM——它可以动态安装 / 启动 / 停止 / 卸载来自 SCA 系统描述符的 OSGi bundles。 基本的向外伸缩(Scale-Out)行为如下:

  • 服务结构(Service Fabric)接收一个系统描述符——它定义服务组件为构建‘系统’应该装配的方式,并定义它的‘目标状态’。每个服务组件有其自身的运行时需求和伸缩行为。
  • 基于所需要的伸缩性行为,Infiniflow 供应者(Provisioner)动态地与可用服务器 / 虚拟机协商,以确认潜在的可托管系统组件的候选者。
  • 同意托管一个服务组件的服务器接收来自供应者(Provisioner)的相关 SCA 片段,服务器同意在一个协商过的时间段(契约)内托管服务组件。
  • 每个服务器下载(拉)在片段中——来自仓库——指定的 OSGi bundles,并本地实例化这些服务。
  • 服务结构(Service Fabric)不断根据 SCA 文档监视运行时的个数,按照满足目标状态的需要伸缩和重新部署服务。

在 Infiniflow 服务结构(Service Fabric)架构的应用层,一个组合系统的向外伸缩行为是以下功能: - 被系统内分布式服务组件使用的 SCA 绑定。

  • 应用于每个组合服务的复制行为。
  • 关联的中间件,如果合适的话

这意味着有一组丰富的可配置的向外伸缩行为,包括 SEDA、Federated Space、Hadoop-based,对于消息,有分布式服务组件间的异步或同步通信模式,一组可能使用的协议包括:RMI、SOAP 或 TCP/Streaming。

Rowney 接着描绘了 Infiniflow 的未来计划:

  • 通过给 Infiniflow 服务结构(Service Fabric)加入更多的智能,增强 Infiniflow 自治行为。
  • 继续与中间件提供者集成。
  • 进一步与监视和审计框架集成。
  • 通过扩展性的向外伸缩和失败测试场景增强健壮性。
  • 通过开源工具的利用提高对开发者支持。
  • 和标准化团体合作,确保 Infiniflow 结构保持开放和灵活。

查看英文原文: Infiniflow: Next-Generation Distributed Application Server based on OSGi and SCA

2008-02-21 10:02854
用户头像

发布了 255 篇内容, 共 54.5 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

趁着同事玩游戏偷偷认识k8s一家子补补课

囧么肥事

Kubernetes 容器 云原生 k8s Kubernetes 集群

DAO社区的胜利,Tiger DAO VC胜在治理与共识

西柚子

浅析分布式系统之体系结构 技术基本目标----一致性(单对象、单操作)

snlfsnef

分布式 系统设计 基本原则 一致性 设计思想

如何部署自己的网站?

InfoQ IT百科

安卓App和鸿蒙App有什么不同?

InfoQ IT百科

appdata是什么文件夹?

InfoQ IT百科

SOFARegistry 源码|数据分片之核心-路由表 SlotTable 剖析

SOFAStack

GitHub 开源 程序员 开发者 源码解析

利用 Dio 完成数据更新的 Patch 请求

岛上码农

flutter 安卓开发 4月月更 跨平台开发 ios 开发

在线YAML转HTML工具

入门小站

工具

有哪些比较靠谱的低代码开发平台?

InfoQ IT百科

做 App 还是小程序好?

InfoQ IT百科

云原生新时代弄潮儿k8s凭什么在容器化方面独树一帜?

囧么肥事

Kubernetes 容器 k8s 容器服务 Kubernetes 集群

外包学生管理系统--架构详细设计方案

凯博无线

一个WPS账号可以在多个设备同时登陆吗?

InfoQ IT百科

架构实战营作业三

热猫

【漏洞分析】jdk9+Spring及其衍生框架

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

linux之fping命令

入门小站

Linux

软件激活码是什么?

InfoQ IT百科

DAO社区的胜利,Tiger DAO VC胜在治理与共识

小哈区块

目前WPS支持在哪些设备上使用?

InfoQ IT百科

WordPress 是什么?

InfoQ IT百科

使用WPS需要注册/登录账号吗?

InfoQ IT百科

残酷春天里的中国科技(四):跨越地方保护主义

脑极体

低代码开发平台能开发哪些应用?

InfoQ IT百科

如何隐藏电脑上的文件?

InfoQ IT百科

极致体验,揭秘抖音背后的音视频技术

火山引擎边缘云

音视频 边缘计算 音视频技术

基于DDD思想的技术架构战略调整

Qunar技术沙龙

DDD 构架

未来几年如何把握住音视频开发的大浪潮,音视频高级开发工程师培养计划

赖猫

音视频 编程开发 音视频开发

关于缓存更新的一些可借鉴套路

架构精进之路

缓存 4月日更 4月月更

WPS是什么软件?

InfoQ IT百科

zip格式的文件怎么打开?

InfoQ IT百科

Infiniflow:基于OSGI和SCA的下一代分布式应用服务器_Java_Ryan Slobojan_InfoQ精选文章