Thi*_*oyd 1 memcached caching scalability redis couchbase
我们有许多具有缓存需求的Web服务和Web应用程序应用程序,因此我们正在努力提出缓存策略,这可以帮助所有团队,无论他们的技术选择如何.我们已经在每个服务器节点上使用本地运行的Memcached(非复制)和Couchbase(多主机),并且应用程序使用Memcached协议在本地连接它们,但是我们计划使用通过REST API公开的集中式缓存集群,可以使用在数据中心的不同服务器节点上运行的所有应用程序.以下是思考过程背后的原因:
但是我们不确定这个策略,因为我们担心由于HTTP而导致的网络开销对性能的影响.
有人试过这个策略吗?将缓存作为集中服务或本地缓存是最好的是一个好主意吗?
免责声明:我在 Redis Labs 工作,这是一家商业公司,生产用于管理 Redis 和 Memcached 集群的工具。我的雇主 Redis Labs 已经将您想要确认的策略作为一项业务:)
缓存是最好的近距离服务,但远程缓存也有好处(例如,卸载数据库),即使延迟损失有所不同。在大多数情况下,与应用程序所花费的时间相比,局域网延迟可以忽略不计,因此使用共享网络附加缓存非常有意义。
为了获得最佳性能,请使用应用程序自己的协议直接与共享缓存进行交互。除非缓存引擎本身提供,否则 HTTP API 可能会增加客户端应用程序请求的延迟。OTOH,使用自定义层(例如 REST API)正式化您的应用程序对缓存的访问也有很多好处,因此您应该根据延迟预算来评估成本。
您的策略是合理的,并且可以在任何地方使用它来构建可扩展的高性能应用程序。如果您需要进一步的建议,请随时联系我。
| 归档时间: |
|
| 查看次数: |
1665 次 |
| 最近记录: |