Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache camel 具有多个Camel实例的可伸缩总线_Apache Camel_Soa_Apache Servicemix - Fatal编程技术网

Apache camel 具有多个Camel实例的可伸缩总线

Apache camel 具有多个Camel实例的可伸缩总线,apache-camel,soa,apache-servicemix,Apache Camel,Soa,Apache Servicemix,我的想法是使用camel来解耦模块。为了支持可伸缩性和故障切换,我想知道是否建议使用以下体系结构 我有两个应用程序与骆驼嵌入式AppCamel1和AppCamel2。然后我有独立的camel节点Camel1和Camel2 AppCamel1将有一个到Camel1和Camel2的故障转移/负载平衡路由。这样,例如,如果Camel1崩溃,Camel2将用于故障切换 例如,Camel1和2将使用http组件执行REST调用。此外,AppCamel1会向camel1或2发送请求回复 这是一个有效的方案吗

我的想法是使用camel来解耦模块。为了支持可伸缩性和故障切换,我想知道是否建议使用以下体系结构

我有两个应用程序与骆驼嵌入式AppCamel1和AppCamel2。然后我有独立的camel节点Camel1和Camel2

AppCamel1将有一个到Camel1和Camel2的故障转移/负载平衡路由。这样,例如,如果Camel1崩溃,Camel2将用于故障切换

例如,Camel1和2将使用http组件执行REST调用。此外,AppCamel1会向camel1或2发送请求回复

这是一个有效的方案吗

我应该使用什么来互连不同的Camel实例(AppCamel1到Camel1或2)?(我想知道是否可以避免中间的jms服务器之类的组件)

谢谢大家!


按照博迪的回答编辑


其余的电话来自Camel1/2。我想将AppCamel1/2与Camel1/2互连,看看是否可以避免两者之间的任何问题。我猜mina是一种可能性,甚至是http,但在这种情况下,AppCamel1和AppCamel2需要知道Camel1/2,这不是很好。

如果您试图将http请求负载平衡到AppCamel1/2,那么您需要一个代理服务器(apache mod_proxy、perlbal等)。要实现从AppCamel1/2到Camel1/2的负载平衡,您可以使用Camel甚至JMS请求/回复


从AppCamel1/2到Camel1/2,听起来像是在使用REST作为接口。如果您需要在实例之间进行更复杂的通信,那么我将使用JMS(via)进行消息传递,使用Hazelcast(via)进行分布式缓存/锁定等。

如果您试图将HTTP请求加载到AppCamel1/2,那么您需要在两者之间使用代理服务器(apache mod_proxy、perlbal等)。要实现从AppCamel1/2到Camel1/2的负载平衡,您可以使用Camel甚至JMS请求/回复


从AppCamel1/2到Camel1/2,听起来像是在使用REST作为接口。如果您需要在实例之间进行更复杂的通信,那么我将使用JMS(via)进行消息传递,使用Hazelcast(via)进行分布式缓存/锁定等。

如果您使用JMS进行通信,则不需要特殊的负载平衡器。只需使用一个队列,让两个Camel1/2都听这个队列。然后,它们将自动进行故障切换和负载平衡

如果使用jms进行通信,则不需要特殊的负载平衡器。只需使用一个队列,让两个Camel1/2都听这个队列。然后,它们将自动进行故障切换和负载平衡

我肯定会选择jms中间件。Activemq是自然的选择(camel甚至被认为是Activemq的一个子项目)。将amq与您的canel实例一起嵌入并对它们进行集群是很简单的。Activemq将能够为您处理负载平衡和故障切换

我肯定会选择jms中间件。Activemq是自然的选择(camel甚至被认为是Activemq的一个子项目)。将amq与您的canel实例一起嵌入并对它们进行集群是很简单的。Activemq将能够为您处理负载平衡和故障切换

骆驼邮件列表中也讨论了这一点,其中还有一些提示和建议

骆驼邮件列表中也讨论了这一点,其中还有一些提示和建议

我在问题中添加了一些细节我在问题中添加了一些细节