写点什么

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:021472
用户头像

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

关注

评论

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

架构师训练营第 0 期第 2 周学习总结

upupup

极客大学架构师训练营

呢喃/ NN 4044

ZoomQuiet大妈

大妈 是也乎 IMHO 呢喃 今日

ARTS|Week 03 (2020第24周)

MiracleWong

数据结构 算法 ARTS 打卡计划

架构师训练营-- 第二周作业

stardust20

架构师训练营第二章作业

张明森

week1 homeweok 1

宋琢

学习总结-第2周

饶军

游戏夜读 | 玩游戏为什么开心?

game1night

架构师训练营--第二周学习总结

花花大脸猫

极客大学架构师训练营

【架构师训练营 - 作业 -2】依赖倒置

小动物

极客大学架构师训练营 作业

架构师训练营--第二周作业

花花大脸猫

极客大学架构师训练营

直播 | 即将发版的 Flink 1.11 有哪些重大变更?

Apache Flink

大数据 flink 流计算

Go: 内存管理和分配

陈思敏捷

内存管理 Go 语言

思维模型 - 单一要素最大化

石云升

思维模型 第一曲线 单一要素

Libra教程之:Transaction的生命周期

程序那些事

区块链 libra blockchain transaction

架构师训练营第二周课后作业

Cloud.

极客大学架构师训练营

ARTS|Week 3 本周的主题可能是乱

Puran

ARTS 打卡计划

面向对象编程的设计原则

满山李子

大数据的下一站是什么?服务/分析一体化(HSAP)

Apache Flink

大数据 flink 流计算 实时计算

架构师训练营第 0 期第 2 周作业

upupup

极客大学架构师训练营

架构师训练营第二周总结

Cloud.

ARTS打卡-03

Geek_yansheng25

ARTS第三周6.8-6.14

我笔盒呢

DQTOEKN引领数字金融新蜕变

Geek_116789

MongoDB与微服务

Cutler

微服务 mongo

分布式锁的几种实现方式

Hollis

Java 分布式 并发编程 分布式锁

架构师课程第二周作业

杉松壁

week1 homework 2

宋琢

周末直播|Flink、Hologres、AI等热门话题全都安排!

Apache Flink

大数据 flink 流计算

架构师面试题(1)

满山李子

架构师训练营第二章作业

饶军

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