actors/services 应该拆分成多个项目吗?

Should actors/services be split into multiple projects?

我正在测试 Azure Service Fabric 并开始向同一个项目添加大量参与者和服务 - 这样可以吗,或者我会失去任何服务结构功能,如故障转移、可伸缩性等吗?

我在这里的偏好显然是 1 actor/1 服务 = 1 个项目。像这样的平台的最大好处是它允许您几乎免费地编写适当的面向微服务的应用程序,至少与在其他类似平台上执行类似实现时的实现开销相比是这样。

我认为它违背了构建跨越多个关注点的服务或参与者的架构的意义。使用这些假想的约束来迫使您将这些服务的责任范围保持尽可能小是有意义的(至少对我而言)- 而是依赖 on/call 其他服务以提供责任之外的功能您目前正在实施的项目。

关于扩展,您似乎仍然可以独立扩展 services/actors,即使它们是同一项目的一部分 - 至少通过查看应用程序清单格式可以看出这一点。但是,您无法在项目中独立更新 services/actors。举个例子;如果您的项目有两个不同的参与者,并且您对其中一个进行了更改,您仍然需要为他们两个部署更新,因为它们是同一代码包的一部分并且将共享一个版本号。