如果处理得当,采用响应式微服务体系结构可以极大地提高开发组织的生产力和速度。Lagom提供了一种灵活的构建方法,支持个人和团队的开发,并且可以随着时间的推移而增长。您可以将所有微服务放在单个sbt或Maven构建(或项目)中,每个服务可以放在单独的构建中,或者将逻辑上相关的服务组进行多个构建。
    在选择一种方法时,要考虑利弊:

    • 多个服务的单一构建:
      • 新特性的开发通常需要同时在多个服务上进行工作。在同一个构建中使用这些服务可以带来无障碍的开发体验。
      • 然而,随着构建工作的开发人员数量的增加,如果他们互相妨碍,就会降低开发速度。
    • 多个构建,每个构建都有一个服务或一组服务:
      • 每个微服务都可以独立更改,并且在隔离时可以更快地前进。在发布时,依赖的服务可以升级并使用更新后的服务。
      • 然而,多个构建增加了复杂性。您需要发布服务,以使它们对其他服务可用。实现需要导入单个服务所依赖的所有服务。将一个系统拆分为多个构建描述了如何处理这类问题。

    在开始时,将所有服务保持在同一个构建中通常是有意义的。小型团队可以轻松地使用一个构建,避免系统被划分为多个构建时出现的时滞不前和复杂依赖。随着系统和组织的发展,改变您的方法是有意义的。例如,随着系统功能的增长,您可以将服务拆分为不同的构建。同样的原则也适用于从事这些工作的团队。不要害怕重构构建以满足组织需求,这一点很重要。