QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

逐行解读Spring- 没人比我更懂循环依赖

学Java关注我

Java 编程 架构 编程语言 技术宅

洛谷 || 混合牛奶 Mixing Milk(贪心算法)

Bob

算法 刷题 4月日更

Python OpenCV 边缘滤波保留(EPF)

梦想橡皮擦

Python OpenCV 4月日更

架構設計訓練營作業 2

海罗沃德

架构实战营

为什么我们的生活越来越快?

石云升

读书笔记 28天写作 4月日更

第二周作业

Geek_2e7dd7

架构实战营

清理SpringBoot应用无用的metrics指标

远鹏

Java springboot metrics micrometer

领域驱动设计(DDD):领域和子域

xcbeyond

领域驱动设计 DDD 4月日更

签约作者可视化

IT蜗壳-Tango

4月日更

变易世界,简易战略,不易华为

脑极体

绝了!阿里面试官跟我死磕MySQL,结果我却拿了个高薪offer

码农之家

Java 程序员 面试 MySQL 高可用 刷题笔记

手机自带的多功能百宝箱,没人用真的太可惜了。

彭宏豪95

iphone 效率 工具 苹果 4月日更

lombok编译报错:java: 找不到符号

李印

IntelliJ IDEA lombok

方寸之间,书写天地

小天同学

个人总结 4月日更 1 周年盛典 我和写作平台的故事 InfoQ 写作平台 1 周年

转正还是离职?这是一个问题么?

escray

面试 面经 4月日更

微服务网关的一点思考

程序员架构进阶

架构 自我提升 api 网关 28天写作 4月日更

《采访融云CTO杨攀:融云七年发展史》(采访提纲)

后台技术汇

调查采访能力考核

应用宝SDK接入记录

风翱

sdk 4月日更 应用宝

产品 0 期 - 第八周作业

vipyinzhiwei

Zabbix 产品周期

耳东@Erdong

zabbix 4月日更 lifecycle

Java线程讲解,这次没有人学不会了吧!!!

霖~

荣耀,单刷苹果大boss

脑极体

计算机原理学习笔记 Day3

穿过生命散发芬芳

计算机原理 4月日更

css中的动画效果

赫鲁小夫

4月日更

深度图解Redis Cluster原理

leonsh

redis Gossip redis cluster

Redis-Sentinel 深入浅出原理和实战

leonsh

redis redis sentinel

重读《重构2》- 提取函数

顿晓

4月日更 提取函数

哭了!从腾讯辞职后找不到工作,投了20多家简历,却只面过一家

Java架构师迁哥

Rust:关于闭包的一点研究

Microwood

rust 闭包 closure

二阶单位圆

山@支

【基金系列】10年理财规划师经验分享:不想当韭菜就看一下这些内容

小Q

学习 基金会 理财 基金

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