假设我们有 5 个微服务 (μS),每个微服务都需要一个包含一些表的数据库。这些服务中的每一个都需要能够扩展,包括数据库查询。为此,据我所知,我们有几个选择:
1. 1-μS; 1 个实例; 1 个数据库实例
不要水平缩放,只垂直缩放。
2. 1-μS; N 个实例; 1 个数据库实例
服务的每个实例都可以读取和写入同一数据库。如果服务处理是瓶颈,则可以采用简单的扩展方法。
3. 1-μS; N 个实例;高可用性数据库集群
服务的每个实例都可以读取和写入同一个 HA 数据库。如果数据库读/写也是瓶颈,那么这是一种扩展的好方法。运营成本较大。
4.N-μS; N 个实例;高可用性数据库集群
每个服务的每个实例都可以读取和写入同一个 HA 数据库集群。每个服务在 HA 数据库集群中使用自己的数据库。
5. Other
除了需要数据库的服务之外,还有其他方法可以扩展数据库吗?
每个解决方案都需要权衡,无论是读取还是写入性能、操作成本等,但是对于扩展数据库,推荐的解决方案是什么:
- 服务和数据库在某种程度上是平等的,扩展服务需要扩展数据库?
- 服务需要更多处理时间意味着服务需要扩展而不是数据库?
- 数据库比服务需要更多的处理时间?
我的观点是,如果某个服务的写入量很高,那么 3 或 4 是一个解决方案,而对于其余的 4 是一个解决方案。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)