如果您实施面向服务的架构,那么最简洁的开发环境方法是什么?
如果您想开发服务Y,您将如何管理启动服务X?
似乎有很多关于SoA的理论方面的讨论,但是在Rails / Express / Etc中构建多服务应用程序时,它在现实世界中如何工作?
难以管理具有众多外部服务作为依赖关系的应用程序吗?
答案 0 :(得分:1)
管理具有众多外部应用程序的应用程序并不困难 服务作为依赖?
这取决于 manage 的含义。在我看来,这意味着协调与将服务的新功能提供给生产相关的所有活动,包括规划,开发,构建,部署和运营支持。
管理物理上分离的服务,没有与其他服务的二进制依赖关系,并且在存储级别与其他服务没有强制的参照完整性相对简单,并且变得和执行与其他服务的依赖关系管理。由于这些依赖关系通常表现为API合同,因此合同版本控制成为系统级开发和团队内工作流程的重要考虑因素。 (对此存在许多策略 - 就像它自己的大量讨论一样)。
但是,我会告诉你,在面对替代方案时,你需要考虑管理的难度。那么,这种方法的替代方案是什么?替代方案是 monolith 应用程序方法,因此您可以看到为什么我突出显示了单词" relative"在上一段中。
我会敦促你阅读(或重新阅读)James Lewis& amp; Martin Fowler的微服务文章here,他们在解释这个问题方面做得比我好得多。