SOA 的原则之一是:“服务是自治的”。我有 2 项服务。服务 A 依赖于服务 B。除非服务 B 启动并运行,否则服务 A 无法为客户端提供服务。我违反了这里的原则吗?
或者,如果自治必须意味着“解耦”,如果我有故障保护(比如在其他地方运行的另一个服务 B 实例,如果主实例关闭,则连接到该实例),我是否满足该原则?这可能满足我的可用性要求,但我不确定这如何减少我的依赖。是的,故障保险甚至可能是来自第三方的服务 C,在这种情况下,我确实提高了我的自主权。
或者这个原则是否仅仅意味着服务必须被设计为“fifedoms”,具有明确定义的接口来输入和输出数据。然而,一些大师似乎认为您甚至需要在内部存储您收到的这些数据,以减少依赖并保持您的自主权......
如果我将服务视为带有消息传递的组件,这是否是一个错误?:)
想法?