Ответ 1
jgroups - это больше о распределении задач и управлении кластерами, в то время как hazelcast/terracotta - более распределенные кэши (сетки данных) - при сопоставлении всех функциональных возможностей существует определенная совпадение - вам нужно выяснить, какая функциональность важнее и, возможно, проще реализовать.
hazelcast позволяет выполнять кластеризацию с помощью адресной или многоадресной рассылки на основе tcp. Он поддерживает карты, мультиплексоры, списки, очереди, темы - для резервного копирования на основе диска вам необходимо реализовать интерфейсы загрузки/хранения.
С помощью EhCache вы можете использовать репликацию JGroups, JMS или RMI для кешей.
Короче говоря, если вы ищете распределенный кеш данных /grid, hazelcast или ehcache будут инструментами для поиска - если вы ищете распределение задач с использованием библиотеки и не обеспокоены существующими кэшами сетки данных, JGroups будут работать для вас.