我有一堆EC2处理对象(让我们假设对象是需要从网上下载的图像的唯一URL)。我有3个Elasticache dbs:所有三个dbs跟踪图像的不同之处。在决定是处理图像还是丢弃图像之前,我需要查阅3个数据库。
我需要决定每个EC2实例是否应该自己查询3 dbs,或者我是否应该将3 dbs封装在微服务之后,这样每个EC2都不会直接与dbs通信。
使用微服务并使用API进行通信显然会增加处理时间开销,但通常在扩展时它是值得的。但ElastiCache是一种快速的内存数据库服务,我无法确定开销是否值得。我该怎么办?或者,在决定之前我应该考虑什么?
答案 0 :(得分:1)
微服务架构是一件好事,但它的价格很高:你的系统中还有一个分布式移动部件。
如果您需要:
Elasticache
,无需微服务)或Elasticache
更改为另一个缓存然后是,确实将它提取到微服务中,否则不要,只需将其提取到整体内部的模块中。