cache(比如redis 集群)一般部署的机器和server是同一个机器吗

cache(比如redis 集群)一般部署在server同一个机器上吗,还是和server分开的机器但是同一个datacenter,还是可能是在和server不同的data center的机器上

我觉得应该是server分开的机器但是同一个datacenter。 但是有的业务场景需要多个datacenter 都有集群 然后async across datacenter (这个情况应该不多 毕竟是缓存)

首先,单机是可以即跑 Redis 又跑数据库的。
但是,当做集群的时候,机器都会专业化,也就是每台机器只做尽量少的事,所以 Cache 和 Server 和 DB 会分开。同一个数据中心里会有所有这些机器,使得每个数据中心可以单独处理请求。

那cache cluster和db cluster需要考虑让某个data center里面的cache server只cache本地的db server里的数据吗?还是cache server会cache所有data center里db server的data

每个 Datacenter 的 Cache 只处理内部的 DB 数据是比较合理的。有的服务会选择在每个数据中心都有完整的 DB 数据备份,为了做容灾的考虑,比如 Facebook 的数据。这样的话就没有你说的这个问题了。