Tre*_*oks 1 azure microservices azure-cosmosdb
我已经阅读了一些有关微服务的信息,并且最受欢迎的方法似乎是为每个微服务提供一个单独的数据库。关于Azure的CosmosDB,这是否意味着每个服务都有单独的表?架构此的最佳方法是什么?
这里有很多因素需要考虑,这最终意味着对该问题没有正确的答案,这将非常具体地取决于您要构建的应用程序的性质。因此,试图提供“一般性”建议和模式的广泛声明应以大量的盐作为参考。对于Cosmos,在做出决策时要考虑的许多高级事项如下:
分区:根据选择适当的分区键,Cosmos集合支持几乎无限的缩放比例。因此,例如,您可能只有一个集合,并且将您的服务分开,以使它们每个都写入不同的分区键。这将为您提供一种服务多租户的形式,可能非常适合您的特定应用程序。但是,吞吐量也可以在集合级别进行缩放,因此,如果某些服务具有更高的读和/或写要求,这可能对您不起作用,并且可能表明该特定服务应使用可以独立缩放的自己的集合。
费用:您需要为每个集合收取最低吞吐量要求。根据您的微服务的数量和性质,这可能导致成倍增加的成本却几乎没有收益。
隔离:同样,根据您的应用程序的性质,您可能有一个严格的业务要求,即来自不同服务的数据在物理上是彼此分离的,这将迫使您使用单独的集合。
我要在这里提出的观点是,这个问题绝对没有正确的答案。您需要在尝试构建的解决方案的上下文中仔细权衡利弊,然后选择适合您的方法。
| 归档时间: |
|
| 查看次数: |
658 次 |
| 最近记录: |