3
我正在構建一個web應用程序,從第一天開始,它將限制單個服務器可以處理的範圍。所以我正在考慮採用具有幾個相同節點的分佈式體系結構。目標是提供可擴展性(增加服務器以容納更多用戶)和容錯。節點之間需要共享的一些狀態,因此它們之間需要一些通信。我相信我有以下替代方案來實現Java中的這種通信:我應該在什麼級別上實現分佈式系統上節點之間的通信?
- 使用套接字和自定義協議實現它。
- 使用RMI
- 使用web服務(每個節點都可以發送和接收/解析HTTP請求)。
- 使用JMS
- 使用像Terracotta或hazelcast
其他高級框架,我想知道這個技術如何互相比較:
- 當節點數量增加
- 當節點之間的通信量增加時(每秒1000個消息和/或消息高達100KB等)
- 在實踐層面(如易於實現,現有的文件,許可證問題等)
- 我也有興趣知道技術是使用了實時生產項目(而不是實驗性或理論的)人。