Carbon 不喜欢与它的其他组件配合得很好。我从来没有能够成功地使用 Carbon 来管理任何 WSO2 堆栈。每次我设置/部署 WSO2 堆栈时,我都会手动单独配置单独的组件配置文件。通常首先从 ESB 开始,然后添加 CEP,然后添加 BAM。
您还必须确保它们以正确的顺序开始,并且配置文件不会相互影响(确保设置了端口偏移量)。
您不需要 Carbon 来运行 WSO2 堆栈的任何实例,只需“安装”它(解压缩 wso2X.zip 文件)然后确保服务启动(调用wso2X/bin/wso2server.sh start
),这就是一般设置的内容,之后您需要配置每个组件以使其与其他组件配合得很好(这意味着您需要将 BAM 和 CEP 连接到 ESB 等)没有很多“自动”配置或发现,因此通常更容易走手动路线与 WSO2。
另请注意,WSO2 产品是围绕其他 Apache 产品(如Tomcat / Synapse)的 Java 扩展(本质上是包装器),因此通常如果您对 WSO2 有疑问,那是因为底层系统(Tomcat/Synapse)没有正确配置(尽管不是您自己的错,因为 WSO2 文档没有提到确保正确配置基本系统)。
另请注意,在我对 WSO2 产品的测试中,它们消耗大量内存(在一台机器上无法运行超过 ESB 和 BAM,因为每个机器都占用了 8GB 以上的内存)并且必须放入故障单以纠正在 WSO2 的 Java 模块中发现内存泄漏,不确定是否已修复。
不是试图否定 WSO2,但只是被警告这不是一个漂亮的任务,如果你有选择的话,你可能会使用其他“云”选项更好。
编辑:我必须测试不同的“云”堆栈(如果愿意,可以使用不同类型的“插件”或 Web 服务)以及它们的互操作性如何;事实证明,如果您可以完全控制各个堆栈,它们是非常可互操作的,否则我发现的任何堆栈的最大失败只是文档......我不在乎程序是否有错误或问题,只要它们用可能的解决方法(如果有的话)正确记录,以便我知道我的堆栈上发生了什么。由于 WSO2 的产品只是其产品的 Apache 版本的 Java 包装器(即 WSO2 的 ESB == Apache Synapse),因此发生的任何问题通常在 Apache 的文档中解决(对于某些问题他们几乎没有),而 WSO2' s 文档有很多复制/粘贴问题(如果他们有版本 1 之外的任何文档)。在 WSO2 的产品上下载和安装实际的 Apache 产品通常更容易,然后安装 WSO2 的产品并将它们指向有效的 Apache 配置/安装。
我使用Azure和通用 IIS/.NET 提供的等效服务(ESB/CEP/BAM/等的 IIS/.NET 等效项)对 Microsoft 堆栈进行了一些测试。在 MS 方面,文档就足够了(现在有足够多的人购买云的炒作),我可以半轻松地支持大多数服务。我说半简单是因为“云”服务的“易用性”用词不当(或我的误解)。我还发现了一个名为Neuron ESB的产品,它是一个 .NET ESB 产品,尽管我在测试期间没有对它做任何事情,所以我无法与它交谈。
测试亚马逊的产品被证明是一些更容易设置和配置的产品。我为 AWS 测试的最大问题是一般的互联网延迟。
其中大部分是个人猜想,我强烈建议您评估每一个,因为“云”空间在不断变化,每个云平台提供的东西略有不同。
TLDR:云空间有很多东西可以提供,人们应该真正考虑从长远来看他们想要实现的目标是什么,然后评估每个平台产品,看看哪些适合。话虽如此,文档和内部供应商互操作性(即供应商的产品能够轻松地相互通信)肯定有助于产品的“可重用性”因素。