我正在开发一个应用程序,它被认为是一组在不同节点上配置的tomcat 7上运行的webapps(被称为代理)。我的任务是让这些webapps(代理)自动发现对方。这个想法是,每个webapp(比如代理X)一旦启动,就会将“请求模式”传递给所有其他webapps。其他webapps(比如代理A,B,C)将依次存储此信息('请求模式'),并将使用这些信息使用http调用将任何匹配的请求路由到代理X.
我正在寻找一些选项,其中每个webapp都会有一些组件监听特定端口,而代理X在注册时会向该特定端口上的所有节点发送组播请求。
我认为apache camel在这里可能会有用..但我不确定。
如果某个机构可以说明这种方法的技术可行性或任何其他建议,那将是很好的。
答案 0 :(得分:0)
我的第一个想法是你可以使用apache httpd和mod_proxy_loadbalancer来平衡可用节点上的所有请求。您可以为任何类型的代理定义不同的平衡器。请求将发送给平衡器,平衡器将其路由到任何可用节点。
答案 1 :(得分:0)
这更像是一个消息传递而不是路由问题。如果您需要复杂的路由或适应传统协议,请添加Camel。
这看起来像是一个经典的发布和订阅用例。您可以使用任何消息传递技术来完成。看看JMS - ActiveMQ是Camel使用的,或AMQP - 我已经非常成功地使用了RabbitMQ,它们都使用"主题"对此的范例,快速搜索发现这是一个例子:http://jmsexample.zcage.com/index2.html。或Jabber。
儒略