我正在編寫一個客戶機/服務器應用程序,它應該基於消息工作。我希望儘可能地重複使用,而不是寫另一個實現,並好奇別人正在使用什麼。最佳Java支持的服務器/客戶端協議?
特點圖書館應提供:
- 客戶端和服務器端功能
- 應該工作基於消息的
- 支持多線程的背後負載平衡器
- 應該工作/防火牆
我用HTTPCore做了幾個測試,但底線是必須實現客戶端和服務器,只有傳輸層纔會被覆蓋。由於網絡相關的要求,RMI不是一種選擇。
任何想法,高度讚賞。
詳細
我的想法是實現其處理客戶端通信的客戶端/服務器的包裝(包括用戶名/密碼驗證),並傳入的請求JMS隊列中寫道:
#1 User --> Wrapper (Check for user/password) --> JMS --> "Server"
#2 User polls Wrapper which polls JMS
單獨的進程將處理請求,並可以通過包裝器回覆客戶端。我想使用JMS,因爲:
- 它處理持久性不錯
- 負載均衡 - 這很容易通過增加額外的服務器作爲消費者來處理高峯
- JMSTimeToLive派上用場太
不幸的是,我沒有看到自己使用JMS的方法,因爲客戶端應該只能訪問他們的消息,並且在JMS端安裝不同的用戶聽起來也不可行。
嗨吉姆,哪些信息是我想念的補充? Tkx鏈接到這篇文章很遺憾,不幸的是TemporaryQueues的方法不起作用,因爲它至少需要一個靜態隊列。 「壞人」很容易在那裏訪問消息並濫用臨時隊列。 – MrG 2009-01-16 17:14:36