rest - 在面向服务的架构中缓存

标签 rest caching architecture memcached soa

在分布式系统环境中,我们有一个 RESTful 服务需要以低延迟提供高读取吞吐量。由于数据库技术的限制以及它是一个读取密集型系统,我们决定使用 MemCached。现在,在 SOA 中,缓存的位置至少有两种选择,基本上是客户端在调用服务器之前先在缓存中查找,而客户端总是调用在缓存中查找的服务器。在这两种情况下,缓存本身都是在分布式 MemCached 服务器中完成的。

选项 1:客户端 -> RESTful 服务 -> MemCached -> 数据库

选项 2:客户端 -> MemCached -> RESTful 服务 -> 数据库

我有一个意见,但我很想听听社区中 SOA 专家对这两种选择的支持和反对意见。请假设任何一个选项都是可行的,这是一个架构问题。感谢分享您的经验。

最佳答案

我看到了

Option 1: Client -> RESTful Service -> Cache Server -> Database

工作非常顺利。 优点 恕我直言,您能够以允许您“释放”数据库上的部分负载的方式操作和使用该层。假设您的最终用户可能有很多类似的请求,毕竟客户可以决定将哪些存储空间用于缓存。还有多久清除一次。

关于rest - 在面向服务的架构中缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26925160/

相关文章:

java - Hazelcast 管理中心 - 成员无法沟通

java - Mule升级3.6编译错误

java - 不知道为什么 : The ResourceConfig instance does not contain any root resource classes

java - 如何使用 REST 调用返回 List<MyObject>?

css - 如何清除nginx的缓存?

javascript - 避免事件无限循环的实现模式

node.js - 我应该使用 REST API 还是 Socket.io 作为地理定位应用程序?

asp.net - 多线程环境下的文件访问策略(Web App)

java - kubernetes 中 Pod 之间基于 Cookie 的 session 持久性

architecture - 从 CQRS 写入端数据库读取数据