我们正在构建一个产品,它使用 apache hadoop 和 hbase 框架来处理我们的一些大数据需求。我们还使用 Oracle 来满足我们的报告要求。我们热衷于采用 OSGi 捆绑软件的方式,以利用 OSGi 容器提供的远程部署、服务管理和松散耦合的打包功能。
我们在这方面有几个疑问:
当涉及到我们自己的 Java 应用程序时,我们现在知道如何从中创建 OSGi 包并将它们部署在 OSGi 容器上。但是我们如何处理具有集群架构的基于 Java 的 3PP,例如 HBase/Hadoop?我们看到 Fuse Fabric 创建了一个 Hadoop(实际上只有 HDFS 而不是 Map Reduce)包,但一般来说,您如何为 3PP 创建包?
我们如何处理非基于 Java 的 3PP,例如 Oracle。我们应该为它创建一个 OSGi 包并部署在 OSGi 上,还是应该在 OSGi 之外安装这些 3PP 并编写一些通过 OSGi 触发的监视脚本来跟踪这些 3PP 的状态?该领域的最佳实践是什么?
是否所有通过 OSGi 容器(如 Karaf)启动的包都在容器的同一个 JVM 中运行?我们的一些应用程序和 3PP 非常庞大,如果它们都在单个 JVM 中运行,我们可能会遇到堆/GC 问题。这里有哪些最佳实践?
感谢和问候斯坎达