我一直在读,缩放Redis的正确方法是添加一个单独的实例(即使在同一台机器上也可以,因为CPU密集)。我想知道的是,是否有任何现有组件可以促进类似于Mongos的循环/写入/读取,以便我可以调用它并且它可以正确地写入/读取其中一个底层实例。我意识到我上面所说的更复杂,但是不想通过尝试编写我自己的代理等来重新发明轮子来处理这个问题。
任何建议/提示等都将受到赞赏。
谢谢,
取值
答案 0 :(得分:1)
该方法适用于扩展读取,但不能写入,因为Redis尚未与redis-cluster一起发布。
对于负载平衡读取,任何TCP负载均衡器都应该正常工作,例如Balance。我链接那个,因为它是基于软件的,设置和使用非常简单。当然,如果你有一个硬件负载平衡器,你可以在那里,或使用任何其他几个基于软件的负载平衡器。
另一种选择是在您的客户端代码中实现循环,但我不想自己这样做。一旦redis-cluster发布,连接到哪个服务器并不重要。
为了平衡写入,您需要采用分片数据的路径,这在IMO Craigslist's Redis usgae页面上的描述非常好。如果您认为您需要走这条路线,我建议您选择JZ线路,并提前进行基础设置。理想情况下,一旦redis-cluster准备就绪,应该有最小的代码更改(如果有的话)移动到为您处理它的集群。
如果您希望单个IP同时处理读取和写入以及多个分片写入主控,您可能需要自己编写“代理”,或者将代码放在您编写的客户端代码中。或者,this proxy announcement可以保留您需要的内容,但我没有看到任何关于路由写入的内容。
最终,我认为您需要在实施之前测试并验证您实际上需要写入缩放。我发现如果我对一个或多个从服务器进行了所有读操作,并且让从服务器管理磁盘持久性,那么写入的性能通常不是问题。