我正在建立一个近乎实时的数据管理系统,我发现Spring Integration正是我需要以分布式和可扩展的方式实现整个数据管理生命周期。但是,我想知道是否有办法在不使用消息代理(例如ActiveMQ,RabbitMQ)的情况下在不同的虚拟机上实现它
我知道ZeroMQ应该可以完成这项工作但是(此时)似乎没有得到Spring Integration项目的正式支持。
那么,有没有办法只使用Spring Integration(没有消息代理)在多个服务器上分发项目架构?
答案 0 :(得分:1)
那么,您可以使用内置的TCP / UDP支持为它们启动套接字服务器和客户端:http://docs.spring.io/spring-integration/docs/4.3.6.RELEASE/reference/html/ip.html
还有一个Zookeeper支持:http://docs.spring.io/spring-integration/docs/4.3.6.RELEASE/reference/html/zookeeper.html
另外,您可以查看Hazelcast的Spring Integration扩展程序:https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-hazelcast。
此外,你总是可以通过许多其他协议分发状态:共享数据库(Mongo,Redis,Gemfire等......),甚至只是根据FTP上的共享文件系统找出一些东西。
是的,还没有ZeroMQ支持:https://jira.spring.io/browse/INT-3045。但总是欢迎捐款!