我正在尋找一種通用的方式來「安全」地在集羣中的不同節點之間共享信息。這些信息只是一個字符串,但是這個傳輸必須通過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也將是一個不錯的選擇。 –