最近总结:
比较这两个缓存,还是要从CAP定律角度来考虑。
MC就只是一个缓存,可以把MC和Java中的Ehcache比较,MC之间没有数据复制替换,对付负载平衡的方式就是用HASH圆圈,减少影响面,粗一看,似乎很粗糙,但是有大道至朴的因素在里面,这样我们可以基于CAP定律来自己设计适合我们应用的缓存架构。比如你可以实现BASE架构。降低一致性要求,提高性能可用性。
而兵马俑设计则比MC要进一步,它是由兵马俑自己来实现CAP定律,比如实现状态在所有机器中复制,一致性很好,低延迟,这个方向其实是数据库或内存数据库的方向,但是如果你需要复制的状态数据很多,可用性就不是很好。这是一种非透明化的方案。
这两个方案可以综合使用在CQRD架构中,使用MC或Ehcache来实现分布式查询;而使用兵马俑来实现状态分布式,但是机器不宜多。
最新消息,Terracotta和Eucalyptus整合,提供基于兵马俑的应用程序可以无缝运行在云环境中:
Terracotta and Eucalyptus Integration Provides Data Management and Elastic Provisioning in the Cloud
最新消息:Ehcache和MemCache性能比较测试:memcache在存取数据上慢于ehcache一点,而查询获取上快了那么一点点。无论如何Memcache是C语言,而Ehcache是Java。
Memcache and SpyMemcache Client
10000 sets: 3396ms
10000 gets: 3551ms
10000 getMulti: 2132ms
10000 deletes: 2065ms
Ehcache 0.9 with Ehcache 2.0.0
10000 puts: 2961ms
10000 gets: 3841ms
10000 deletes: 2685ms
[该贴被banq于2010-03-23 09:50修改过]