试图把我的注意力集中在这3个项目上,它们似乎都能处理在集群过程中出现的稍微不同的问题。但是他们的所有文档都是为已经“熟悉”的开发人员编写的,对于像我这样的新手来说很难理解。
提前感谢您对这些好奇而又难以捉摸的框架的洞察力!
发布于 2012-07-10 02:56:56
jgroups更多的是关于任务分发和集群管理,而hazelcast/terracotta则是更分布式的缓存(数据网格)--当您比较所有功能时,它们之间肯定有重叠--您需要弄清楚哪些功能更重要,可能更容易实现。
hazelcast允许通过基于tcp的寻址或多播进行群集。它支持映射、多任务、列表、队列、主题--对于基于磁盘的备份,必须实现加载/存储接口。
使用EhCache,您可以对缓存使用JGroups、JMS或RMI复制。
简而言之,如果您正在寻找不可靠的数据缓存/网格,则需要查看的工具是hazelcast或ehcache --如果您使用一个库查找任务分发,而不关心现有的数据网格缓存,JGroups将为您工作。
发布于 2018-11-25 14:30:37
可以区分两类技术: i. enabler (即中间件API)和ii。端到端或现成的解决方案(即应用API)。
JGroups是一种使能技术,它的核心是实现团体沟通基础,例如可靠的单播、多播和广播,它们是原子广播等更加复杂的分布式协议的构建块;它属于组通信工具包(GCTs)的范畴。
Hazelcast和Terracotta是端到端服务技术,因为它们为分布式应用程序提供了丰富的服务集;它属于内存中数据网格(IMDGs)的范畴,也称为分布式和内存缓存解决方案,非常适合于计算延迟较低的数据。
在能力方面:
考虑到这两种技术之间的关系,JGroups实际上是一种支持服务(即构建块),用于复合服务(即语义丰富的API),如Hazelcast和Terracotta,它们为第三方应用程序提供端到端或准备使用的服务,管理幕后所有可靠的分发方面。当然,JGroups是一个中间件,Hazelcast和Terracotta是应用程序,它们可以为集群服务嵌入自己的中间件实现。
https://stackoverflow.com/questions/11404688
复制相似问题