我正在准备接受面试的机会,内容将涉及架构问题。在学习期间,我正在考虑自己的过去经历。 在我之前的工作中,由于不必担心扩展问题,我们将大多数应用程序(大约8到10个)放在一个tomcat实例上。
所有应用程序都彼此独立,每个应用程序在数据库上都有不同的架构,因此我认为我们的应用程序可以视为微服务。
但是它们位于同一台Web服务器上,因此,如果它出现故障,则所有应用程序都将崩溃,这将在SOA体系结构中发生。当然,这将在较低级别上发生,这可能与软件本身的体系结构无关。
所以我的问题是,将所有应用程序放在单个Web服务器实例上是SOA还是Microservice?下面的图片(来自here)使我更加困惑。
答案 0 :(得分:4)
微服务是设计约束,而不是部署约束。服务的部署方式完全独立于设计方式。假设您采用某种设计将它们强烈分隔,以使它们彼此之间不相互依赖(不建议这样做),它们甚至可能位于同一装配中。
重点是, 您可以分别部署它们吗?如果不是这样,则说明您具有相互依赖性,并且违反了微服务设计的某些原则。