在下面的场景中,将ElastiCache置于微服务之后是否值得?

时间:2017-12-21 04:04:46

标签: amazon-web-services microservices amazon-elasticache

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

我需要决定每个EC2实例是否应该自己查询3 dbs,或者我是否应该将3 dbs封装在微服务之后,这样每个EC2都不会直接与dbs通信。

使用微服务并使用API​​进行通信显然会增加处理时间开销,但通常在扩展时它是值得的。但ElastiCache是​​一种快速的内存数据库服务,我无法确定开销是否值得。我该怎么办?或者,在决定之前我应该​​考虑什么?

1 个答案:

答案 0 :(得分:1)

微服务架构是一件好事,但它的价格很高:你的系统中还有一个分布式移动部件。

如果您需要:

  • 单独部署这个新的微服务,
  • 您希望能够使用您想要的任何编程语言,
  • 您需要单独扩展此功能(您仍然可以单独扩展Elasticache,无需微服务)或
  • 您需要能够从Elasticache更改为另一个缓存

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