简体   繁体   English

SoA /微服务架构的常见工作流程?

[英]Common workflows for SoA/ microservice architectures?

What's the cleanest approach for a development environment if you were implementing a service oriented architecture? 如果您实现面向服务的体系结构,那么开发环境最干净的方法是什么?

How would you manage launching service X when you want to develop service Y? 当您想要开发服务Y时,您将如何管理启动服务X?

There seems to be a lot of talk about the theoretical aspects of SoA, but how would this work in the real world when building out a multi-service app in Rails/Express/Etc? 似乎有很多关于SoA的理论方面的讨论,但是当在Rails / Express / Etc中构建多服务应用程序时,它如何在现实世界中工作?

Wouldn't it be hard to manage an application with numerous external services as dependencies? 管理具有众多外部服务作为依赖项的应用程序难道不是很难吗?

Wouldn't it be hard to manage an application with numerous external services as dependencies? 管理具有众多外部服务作为依赖项的应用程序难道不是很难吗?

It depends what you mean by manage . 这取决于你的意思是管理 To my mind this means coordinating all the activities associated with delivering new functionality for a service into production, including planning, development, build, deployment, and operational support. 在我看来,这意味着协调与将服务的新功能提供给生产相关的所有活动,包括规划,开发,构建,部署和运营支持。

Management of a physically separated service with no binary dependencies with other services and no enforced referential integrity at the storage level with other services is relatively simple, and becomes and exercise in dependency management with the other services. 管理物理上分离的服务,与其他服务没有二进制依赖关系,并且在存储级别与其他服务没有强制的参照完整性,这是相对简单的,并且成为与其他服务的依赖管理。 Because these dependencies generally manifest as API contracts, contract versioning becomes a large consideration for system-level development and intra-team workflow. 由于这些依赖关系通常表现为API合同,因此合同版本控制成为系统级开发和团队内工作流程的重要考虑因素。 (Many strategies exist for this - as does a whole massive discussion on it's own). (存在许多策略 - 就像它自己的大量讨论一样)。

However, I would put to you that you need to consider the difficulty of management when faced with the alternative. 但是,我会告诉您,在面对替代方案时,您需要考虑管理的难度。 Well, what is the alternative to this approach? 那么,这种方法的替代方案是什么? The alternative is the monolith application approach, and so you see why I highlighted the word "relative" in the previous paragraph. 替代方案是整体应用程序方法,因此您可以看到为什么我在前一段中突出显示了“相对”一词。

I would urge you to read (or re-read) the opening paragraphs of James Lewis & Martin Fowler's microservices article here , where they do a much better job than I of explaining this. 我想请你阅读(或重新阅读)James Lewis和Martin Fowler 在这里的微服务文章的开头段落,他们在这里做得比我解释的要好得多。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM