在微服务架构中扩展数据库

时间:2019-02-15 08:35:08

标签: database microservices high-availability

让我们说我们有5个微服务(μS),每个微服务需要一个带有几个表的数据库。这些服务中的每一个都需要能够扩展,包括数据库查询。为此,我们有一些我知道的选择:

1。 1-微秒; 1个实例; 1个数据库实例

不要水平缩放,只能垂直缩放。

2。 1-微秒; N个实例; 1个数据库实例

服务的每个实例都可以读取和写入同一数据库。如果服务处理是瓶颈,则简单的扩展方法。

3。 1-微秒; N个实例; HA DB群集

服务的每个实例都可以读取和写入相同的HA数据库。如果数据库的读/写也是瓶颈,那么扩展的好方法。更高的运营成本。

4。 N-微秒; N个实例; HA DB群集

每个服务的每个实例都可以读取和写入相同的HA数据库集群。每个服务在HA DB群集中使用其自己的数据库。

5。其他

还有其他方法可以在需要它的服务旁边扩展数据库吗?


对于每种解决方案,都需要权衡取舍,无论是读取还是写入性能,操作成本等,但是对于扩展数据库建议的解决方案是什么:

  • 在服务和数据库相等的情况下,扩展服务需要扩展数据库?
  • 服务需要更多处理时间,这意味着服务需要扩展而不是数据库?
  • 数据库需要比服务更多的处理时间吗?

我的观点是,如果服务水平高,则3或4是解决方案,而其余4是解决方案。

0 个答案:

没有答案