我刚接触过微型服务,我怀疑谷歌并没有真正帮助我。我知道一个微型服务必须是独立的,所以即使其中一个是离线的,人们也应该保持正常的工作。
考虑到这一点,我不能真正理解断路器,甚至服务发现,比如我应该把它放在哪里?因为我打给任何微服务的每个电话都经过断路器,假设我的断路器服务的服务器离线,所以我的整个应用程序都是注定的,直到我修复它。怎么绕开呢?
最重要的是,我应该把断路器放在哪里,在一个微型服务以及?
发布于 2018-06-05 07:14:03
当你有远程呼叫时,你应该使用断路器模式。
如果您不使用它,那么在某些情况下(例如,当一些微服务被关闭时),您的系统就会在DOS的攻击下工作。这种情况在有链式同步调用时会显现出来。例如,如果您有以下内容:a -> B -> C (A调用B调用C)。如果C没有响应,而A一直在呼叫,那么B可能会被管理来自A的等待呼叫而不堪重负,并且无法响应来自通常成功的其他服务的合法呼叫。
使用断路器最常见的地方是API网关,其中大多数远程呼叫都是进行的(这是它的主要责任)。您也可以在客户端中使用这种模式,迫使他们连续地、反复地调用死的微服务。
尽管微服务在弹性方面是独立的(即使其他服务失败,它们也可以正常工作),但这并不意味着它们不相互通信。它们可以以异步方式进行通信,即当一个微服务想用后台进程中来自另一个微服务的数据更新自己的本地缓存时。
https://stackoverflow.com/questions/50686734
复制相似问题