代码之家  ›  专栏  ›  技术社区  ›  Aayush Karki

在以下场景中,将ElastiCache放在微服务背后是否值得?

  •  1
  • Aayush Karki  · 技术社区  · 8 年前

    我有一组EC2处理一个对象(假设这些对象是需要从web下载的图像的唯一URL)。我有3个Elasticache数据库:所有三个数据库跟踪图像的不同内容。在决定是处理图像还是丢弃图像之前,我需要查阅3个数据库。

    我需要决定每个EC2实例是否应该单独与3个dbs协商,或者是否应该将3个dbs封装在一个微服务后面,以便每个EC2不直接与dbs通信。

    拥有一个微服务并使用API进行通信显然会增加处理时间开销,但一般来说,扩展它是值得的。但ElastiCache是一种快速内存db服务,我无法确定这种开销是否值得。我该怎么办?或者,在做出决定之前,我应该研究什么?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Constantin Galbenu    8 年前

    微服务体系结构是一件好事,但它有一个很大的代价:您的系统中还将有一个分布式移动部件。

    如果需要:

    • 单独部署此新的微服务,
    • 您希望能够为此使用任何编程语言,
    • 您需要单独缩放此功能(您仍然可以缩放 Elasticache ,单独,无需微服务)或
    • 您需要能够从 弹力织物 到另一个缓存,

    然后是的,将其提取到微服务中,否则不,不,只需将其提取到整体中的模块中。