我正在寻找一种通用的方式来“安全”地在集群中的不同节点之间共享信息。这些信息只是一个字符串,但是这个传输必须通过SSL进行。如何在Java中的集群之间安全地共享信息?
表现不是问题,但信息必须始终最新。
我已经看过了各种选项 -
使用的Ehcache在集群模式。但目前它不允许使用SSL的节点之间进行通信。
将信息存储在数据库中并进行访问。但是我不想走这条路,因为有数据库访问的人可以改变这个值,我想避免这个(不能解释为什么)。
有没有解决方案(最好是免费的),这将允许我实现上述?
我正在寻找一种通用的方式来“安全”地在集群中的不同节点之间共享信息。这些信息只是一个字符串,但是这个传输必须通过SSL进行。如何在Java中的集群之间安全地共享信息?
表现不是问题,但信息必须始终最新。
我已经看过了各种选项 -
使用的Ehcache在集群模式。但目前它不允许使用SSL的节点之间进行通信。
将信息存储在数据库中并进行访问。但是我不想走这条路,因为有数据库访问的人可以改变这个值,我想避免这个(不能解释为什么)。
有没有解决方案(最好是免费的),这将允许我实现上述?
我研究了这个问题,最后决定使用Hazelcast集群来共享信息。
从Hazelcast网站 -
Hazelcast将帮助您,当您需要:许多服务器之间
- 分享数据/状态(例如web会话共享)
- 缓存数据(分布式缓存)
- 集群您的应用程序提供服务器之间的安全通信分区内存数据将工作负载分配到多台服务器上 采取并行处理的优势
- 提供故障安全数据管理
我跟着以下步骤设置一切 - http://serversidestuff.blogspot.sg/2012/11/sharing-information-across-cluster.html
您可能会考虑使用类似JMS的东西(请参阅example)。基本思想是将消息发送到主题,然后消费者将在本主题中观察消息并适当地更新节点的状态。
有趣的想法。但是我需要一个单独的JMS服务器来完成这个任务吗? – Pushkar
someMS服务器是必须的,但是您可能会考虑使用Apache Kafka作为该 – jdevelop
您将需要兼容JMS的MOM(面向消息的中间件)。作为Glassfish标准扩展的OpenMQ很好地满足了这个目标。如果您不想安装全面的JEE容器,ActiveMQ也将是一个不错的选择。 –