JBoss保险丝和可伸缩性

时间:2019-07-05 17:52:21

标签: openshift redhat jbossfuse

我们正在使用Jboss Fuse 7.3开发SOAP Web服务; -它收到很多客户要求, -客户端响应由连接器获得的许多内部响应组成; -每个连接器都有其路由和队列,并且其引用处理器同步调用远程供应商; -主路由使用一个recipentList将客户端请求发送到连接器队列;消息代理处于活动状态 -收件人列表中有一个聚集器bean来收集连接器响应,将其聚集以为客户端做出最终响应;

我们如何扩展此解决方案? 我们的目标是部署到OpenShift,因此我们必须创建一个或多个映像 获得完全可扩展的解决方案的最佳实践是什么?

更好     1)一个camelContext,从中仅生成一张图像,该图像将成为OpenShift中的Pod,然后实现缩放,将Pod复制更多次,     要么,     2)一个camelContext,制作更多图像,每条路线一张,因此肯定会有更多图像单独缩放     要么,     3)更多的“单路” camelContext,生成更多图像,每个camelContext一个,因此肯定会有更多图像单独缩放

非常感谢您的每一个提示或建议,我们都会做出正确选择

这是我们测试蓝图的骆驼上下文部分:

<camelContext id="adea-example-context" xmlns="http://camel.apache.org/schema/blueprint">
    <route id="WS-Endpoint">
        <from id="_customerServiceRequest" uri="cxf:bean:CXFtest"/>
        <process id="_dopocxf" ref="dpcxf1"/>
        <to id="_toWSImpl" uri="direct:WSImpl"/>
    </route>
    <route id="WS-Impl">
        <from id="_fromWSEndpoint" uri="direct:WSImpl"/>
        <process id="_requestProcess" ref="cli1"/>
        <process id="_addConnectorsInfo" ref="addInf1"/>
        <setHeader headerName="recipientListHeader" id="_setConnectorList">
            <constant>jms:queue:connector1?connectionFactory=#connFact1,jms:queue:connector2?connectionFactory=#connFact1,jms:queue:connector3?connectionFactory=#connFact1</constant>
        </setHeader>
        <recipientList delimiter="," id="_sendToConnector"
            parallelProcessing="true" strategyRef="aggr1">
            <header>recipientListHeader</header>
        </recipientList>
    </route>
    <route id="CONN1-Connector">
        <from id="CONN1_queue" uri="jms:queue:connector1?connectionFactory=#connFact1&amp;concurrentConsumers=5&amp;maxConcurrentConsumers=5"/>
        <process id="CONN1Impl" ref="conn1"/>
    </route>
    <route id="CONN2-Connector">
        <from id="CONN2_queue" uri="jms:queue:connector2?connectionFactory=#connFact1&amp;concurrentConsumers=5&amp;maxConcurrentConsumers=5&amp;requestTimeout=50000"/>
        <process id="CONN2Impl" ref="conn2"/>
    </route>
    <route id="CONN3-Connector">
        <from id="CONN3_queue" uri="jms:queue:connector3?connectionFactory=#connFact1&amp;concurrentConsumers=5&amp;maxConcurrentConsumers=5"/>
        <process id="CONN3Impl" ref="conn3"/>
    </route>
</camelContext>

0 个答案:

没有答案