Closed. This question is opinion-based。它当前不接受答案。












想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

2年前关闭。



Improve this question




构建微服务体系结构我面临着同一微服务实例之间的数据共享问题。

我有微服务,它大量使用它的数据源-每个服务请求都会导致数据库请求(通常是插入)。该服务将被大量使用,我计划在Load Balancer后面隐藏多个实例。这就提出了一个问题:这些实例将使用一个数据库(该数据库是否会成为瓶颈?)或多个数据库(每个实例的数据源)具有?

最佳答案

根据我在mSOA架构方面的经验,我从未见过



要使用的。即使您计划对其进行繁重的加载,最常见的DB本质上也支持多线程访问。通常,数据库系统的瓶颈(或最慢的部分)是磁盘。我们不得不多次扩展集群(如果在云中则相对便宜,但是可伸缩性也成为一个问题,因为需要更多的线程来管理和执行扩展的DB系统)。请记住,某些RDBMS使用一个临时数据库(tempdb),该实例上的所有DB都使用该数据库进行排序,哈希,临时变量等。多线程处理和拆分此tempdb文件可用于提高tempdb的吞吐量。 ,从而提高整体服务器性能。

从现在开始我使用Orchard,我不得不说,在某些情况下,您对一个实例的操作未完全(及时)同步。即使正确的身份验证,这也会导致对资源的访问被拒绝(在事件注册之后)。



对于您的App服务器来说,这是一个正确的设计,因此利用数据库集群也应该是合适的。瞄准完整答案-如果您有很多服务,并且希望能够从其所有数据库中进行一些数据挖掘和分析,则可以考虑使用DWH

关于database - 微服务:每个实例或每个微服务的数据源? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33399988/

10-12 01:47