HeadlinesBriefing favicon HeadlinesBriefing.com

将管道拆分为 MCP 服务

Towards Data Science •
×

构建多部分管道的常规方法是将每个部分放在同一个进程中,并通过函数调用在它们之间进行通信。这是阻力最小的路径,而且在一段时间内确实可行,直到各部分不再足够小,无法将其视为实现细节。一旦每个部分真正成为一个具有自己依赖、故障模式和发布节奏的迷你应用,与其他部分共享进程就不再方便,而成为首先出问题的东西。这就是我们所达到的点,也是我们在每个部分周围放置一个真正的边界、一个 MCP 服务器的原因。

单体方法中隐藏着三种不同的故障模式:提取中的未处理异常会拖垮风险评分,欺诈引擎的依赖升级可能破坏提取引擎的安装,以及对任何单个服务进行错误修复的发布意味着需要重新部署整个应用程序。这些问题会在发布几个月后显现出来,因为每个引擎都增长了足够的真实逻辑和依赖,以至于“直接导入它”不再是免费的。

实际的解决方案并不是 MCP 本身,而是围绕每个服务设置一个真正的进程边界,这样一个服务的崩溃不会影响其他服务,一个服务的依赖更改不会波及到另一个服务,并且每个服务都可以按照自己的时间表进行部署、扩展和重启。MCP 增加的价值是为任何编排器提供一种单一且一致的方式来发现服务能做什么并调用它,而无需为每个消费者和每个服务编写定制的集成。

关键实体:公司:Towards Data Science

常见问题:为什么将单体管道拆分为 MCP 服务?

将管道拆分为 MCP 服务可以提供进程隔离,使崩溃不会级联传播,依赖更改不会在服务之间产生涟漪效应,并且每个服务可以独立部署和扩展。MCP 添加了一种标准化的协议用于服务发现和调用。

FAQ Q: Why split a monolithic pipeline into MCP services?

FAQ A: Splitting a pipeline into MCP services provides process isolation so crashes don't cascade, dependency changes don't ripple across services, and each service can be deployed and scaled independently. MCP adds a standardized protocol for service discovery and invocation.