多个微服务和redis—云中每个应用程序一个数据库和一个节点

z5btuh9x  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(428)

我想知道对于多个微服务/应用程序,在云中使用redis(在我的例子中是googlememorystore,标准层)的最佳实践是什么。根据我目前的研究,有以下几种选择:
使用单个集群和数据库,为所有微服务水平扩展。这似乎是最具成本效益的,因为我将使用确切数量的节点,我将需要整个系统。数据隔离在这里受到影响,但我可以通过在密钥前面加上microservice名称来减少影响。
为每个微服务使用单独的集群和数据库。在这种情况下,隔离性更好,所需集群的扩展只会影响单个微服务,但这似乎并不划算,因为许多节点可能负载不足(例如,微服务m1利用了50%的节点容量,微服务m2利用了一个节点40%的容量,因此在案例1中,两个微服务将仅由一个节点提供服务)。
理论上,我可以使用多个数据库来隔离单个集群中的数据,但据我所知,redis不支持这一点(在单个节点上使用多个数据库会导致性能问题)。
我倾向于选择1,但也许我遗漏了什么?

6mzjoqzu

6mzjoqzu1#

不确定最佳实践,我将告诉你我的经验。一般来说,我会选择选项2。
每个微服务都有自己的redis示例或集群。redis集群遵循自己的微服务生命。例如,当您重新部署或重新启动服务时,它们可能会重新启动。
你可能会多付一点钱,但你在弹性和维护麻烦中获益。

相关问题