首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用memcached / couchcase集群在Node.js服务器之间共享对象

使用memcached / couchcase集群在Node.js服务器之间共享对象
EN

Stack Overflow用户
提问于 2013-06-29 08:43:20
回答 1查看 1.1K关注 0票数 0

我正在寻找一种去多节点集群中的共享对象的方法,经过一番研究,我认为最好使用redis酒吧/潜艇。然后,我看到了redis还不支持集群,这意味着一个基于redis的系统将有一个单一的故障点。由于高可用性是我的一个关键特性,这个解决方案是不适用的。

目前,我正在研究这一问题的其他两种解决办法:

  • 梅卡奇
  • Couchbase

我有两个问题:

  1. 在哪种解决方案之上,模拟pub/sub更有效?
  2. 记住集群,哪一个更好?

我希望有一个人面对类似的问题,并分享他的经验。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-29 13:50:54

  1. 我认为将memcached和couchbase用于pub/sub是个坏主意。这两种解决方案都不提供内置的pub/sub功能,而在应用程序端实现pub/sub可能会导致大量ops/秒的内存缓存/couchbase服务器,因此性能会很慢。Couchbase将数据存储到磁盘中,因此对于临时存储,最好使用memcaced。它将更快,不会加载您的磁盘。如果您可以避免使用"pub/sub“,并使用memcached/couchbase,就像简单的HA共享键值存储一样,那么就这样做吧。它会比酒吧/潜艇好得多。
  2. 安装Couchbase服务器时,它提供了两种类型的存储桶: couchbase (具有磁盘持久性、创建视图的能力等)。和memcached (仅在内存中的键值存储)。两种类型的桶在集群中的作用方式是相同的。而且couchbase支持memcache api调用,因此您不需要更改代码来测试这两个变体。

我曾尝试使用memcached提供者进行socket.io "pub/sub“共享,但正如我前面提到的,它很难看。在我的例子中,很少有node.js服务器使用socket.io,所以我没有共享,而是在套接字之上的服务器之间实现了类似"p2p消息传递“之类的东西。

UPD:如果您拥有如此大量的数据,最好不要有一个共享存储,而是使用类似于“可预测的”数据位置的切分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17378369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档