我想知道EJB會話Bean池如何在羣集環境中工作,假設如果有三個羣集節點並且一個節點關閉,那麼將如何複製會話Bean池並請求相同的請求操作將在另一個節點上繼續。謝謝Shailendra Singh羣集環境中的EJB會話Bean池
回答
這是一個比較難回答你的問題,因爲我認爲你需要關於羣集的更多背景,但我會努力...
一個用於建設的主要動機羣集將爲您的應用程序提供名爲High Availavility的屬性,即儘管發生硬件故障或維護任務(例如更新新軟件版本)需要完成,但系統仍可繼續工作。
實現此目的的最簡單方法是使用負載平衡這意味着當羣集節點發生故障時,傳入請求將由其他活動節點管理。
具體談論EJB服務;負載平衡是由EJB客戶端的存根完成的,存根具有一個包含集羣節點IP的列表。每次客戶需要提出請求時,存根會從列表中選擇一個IP。如果一個節點發生故障,那麼在節點恢復之前,他的IP將不可用。如你所見,節點之間沒有數據複製,只是負載平衡。 (EJB不知道這個過程)
如果集羣是異構的,由於客戶端需要名爲HA-JNDI的服務來查找存根,事情會更加複雜。
有些應用(極少數)需要特殊要求,因此有時候負載均衡是不夠的;例如當一個節點發生故障時,將處理下一個客戶端請求的新節點必須知道該節點正在管理的信息狀態。如果信息先前至少在其他羣集節點中複製,則可以完成此操作。添加狀態複製時,您的應用程序具有容錯功能。
這種狀態複製是由被稱爲分佈式緩存一個特殊的應用程序服務器的組件完成的,作爲開發商,你的主要職責是告訴需要複製該信息(服務)的應用程序服務器,多久等
希望這有助於你作爲下一篇閱讀的起點。
注意:EJB池是其他應用程序服務器服務,並且與羣集無關。
羣集EJB具有故障轉移功能。 @Stateful @Clustered EJB的狀態跨集羣節點複製,因此如果集羣中的某個節點關閉,其他節點將能夠接管調用。
更多信息請訪問link
謝謝!非常有幫助。 –
感謝您的回答 –
- 1. 集羣環境中的JSF會話作用域受管bean
- 2. 集羣環境和會話管理(Servlets)
- 3. 的集羣環境
- 4. Spring安全性併發會話控制集羣環境中的最大會話
- 5. 集羣環境中的Log4j
- 6. Tomcat集羣環境中的JDBC連接池
- 7. 在集羣環境中
- 8. EJB無狀態會話bean和有狀態會話bean
- 9. @WebServices as @Stateless會話bean在ejb jar中
- 10. JSF2.0 @Viewscoped bean不在羣集環境中複製
- 11. 羣集上的Spring會話bean中的靜態變量
- 12. 集羣環境中基於Java的REST Web應用程序的會話管理
- 13. EJB無狀態會話Bean中的CDI bean生產者
- 14. Dropwizard會話羣集
- 15. 集羣環境中的同步
- 16. 在集羣環境中的subclipse
- 17. 集羣環境中的資產管理
- 18. 多集羣環境中的JCR鎖定
- 19. 羣集環境中的Toplink異常
- 20. 集羣環境中的Jboss AS 7 Infinispan
- 21. 羣集環境中的休眠ORM
- 22. 羣集環境中的關鍵部分
- 23. 狀態會話bean池的大小
- 24. EJB無狀態會話bean爲空
- 25. 使用有狀態會話bean(EJB)
- 26. EJB訪問有狀態會話Bean NameNotFoundException
- 27. EJB會話bean線程安全
- 28. 如何從PHP調用EJB會話bean?
- 29. EJB 3.1丟棄有狀態會話bean
- 30. EJB 2.1有狀態會話bean
謝謝!這真的有幫助。 –