【问题标题】:How to use redisson and keep microservices architecture tight如何使用 redisson 并保持微服务架构紧凑
【发布时间】:2020-09-19 14:03:35
【问题描述】:

我们有服务 A、B 和 C。

服务 C 连接到 Redis,而服务 A 和 B(通过 API)从服务 C 请求对象

我们不想与 A & B 共享 C 的 redis(直截了当)以保持数据源隔离规则。

我们在请求某些 API 调用时支付延迟的缺点(特别是在高峰时间)

我们想使用一些内存数据网格解决方案,因为我们发现我们主要在服务内存中缓存东西。

我们考虑过 hazelcast,但认为 redisson 可以使其顺利运行,因为我们已经在使用 redis。

我担心如果我们使用 redisson IMDG 解决方案,我们将关注微服务架构,因为服务 A 和 B 将直接到达 C 的 redis(而不是通过 API)

想法?

【问题讨论】:

  • 使用 hazelcast,如果您希望通过 hazelcast 在它们之间进行任何通信,您还应该在 A、B 和 C 微服务之间共享您的内存。
  • 你说得对,所以你在所有服务之间共享数据源,这破坏了隔离
  • 作为选项尝试使用数据库设置。因此,您将能够使用相同的 Redis 设置,但每个服务都将使用自己的数据库。

标签: java redis architecture redisson in-memory-data-grid


【解决方案1】:

对于您的特定用例,您绝对可以使用 Hazlecast 或 Infinispan 等数据网格。唯一的缺点是所有 3 个微服务中的数据复制/复制,这将在所有微服务中平均消耗内存。 如果您正在考虑使用 Redis 作为缓存解决方案在三个服务之间共享对象,那么您将节省内存,同时保持每个微服务的数据库分开。 因此,这完全取决于您计划如何在架构中使用 Redis。

【讨论】:

    猜你喜欢
    • 2011-03-09
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多