【问题标题】:UI with microservices带有微服务的 UI
【发布时间】:2018-02-09 06:12:14
【问题描述】:

我有一个用 JSF 和 Richfaces 编写的前端 Web 应用程序。它是一种仪表板应用程序。我们正在尝试使用 Spring Boot rest api 在 Angular 2 中移动它。 我想编写每个功能独立的微服务。总共有 10 个功能,所以我将编写 10 个不同的休息服务,每个服务都有自己的构建过程。但我对前端部分感到困惑。我应该为每个 UI 创建单独的工件还是单独构建?或者我应该捆绑在每个各自的休息 api 中?我应该如何处理微服务中的前端部分?

【问题讨论】:

    标签: angular web-services web-applications frontend microservices


    【解决方案1】:

    决定取决于组织方面(请参阅another answer 了解微服务的本质)。所以你必须问:你是否需要多个独立的团队来负责前端部分?他们会与后端服务开发团队分开吗?在一些组织中,服务开发团队还会提供前端组件,然后一个单独的专用 UI​​ 团队将使用这些组件并将它们粘合在一起以创建无缝的用户体验。在其他组织中,为后端和与 UI 相关的任何内容设置单独的团队更有意义。因此,每个 UI 组件都可能有一个 UI 团队,然后是集成/最终 UI 的一个团队。一般来说,项目规模越大,您需要做的组件化就越多,以使团队保持 2 比萨大小。并准备好在项目发展时根据需要拆分团队/组件。

    【讨论】:

    • 感谢您的快速回复。就我而言,我们不会在 UI 方面进行频繁的更改,但同时我们会在每 3 个月内构建新功能。
    • 与许多大型单体开发相比,3 个月仍然是一个相对较快的发布周期。如果您的领域需要,您可以通过较小的团队实现更快的发布。
    • 祝你的项目好运,顺便说一句。
    • 那么我应该为 UI nd Service 维护不同的构建,我应该捆绑在一起吗?
    • 肯定会有不同的构建/部署,但如果团队规模较小,您可能仍希望它是同一个团队。无论如何,您可能希望使用 CICD 自动构建/测试。
    【解决方案2】:

    UI 不应与真正基于微服务的架构中的 REST 服务捆绑在一起。因为如果 UI 与 API 捆绑在一起,那么对于 UI 中的每个缺陷修复,都需要重新构建和部署所有 API。 UI 需要单独托管。如果团队对 Spring Boot 感到满意,则可以将 Angular UI 捆绑在没有任何 API 的单独 Spring Boot 应用程序中。

    2018 年 3 月 21 日更新 我知道在 pm2 服务器中将 Angular GUI 与 Angular Universal 捆绑是一种更好的方法。

    【讨论】:

    • 同意.. 谢谢
    • 是的,我也同意你的看法。单独的 UI 服务将易于管理和扩展。但我对此有一个疑问。
    • 是的,我也同意你的看法。单独的 UI 服务将易于管理和扩展。但我对此有一个疑问。假设我有一个用于学生信息的微服务和另一个用于学生结果的服务,并且我为 UI 创建了第三个服务,我必须显示学生详细信息及其结果。在 UI 服务中,学生信息服务的实体/pojo 类和学生结果将被复制。因为feight call给了我作为Entity/POJO对象的结果。再次接收 UI 服务中的 feight 调用结果,我需要所有这些 Entity/POJO 分类。有什么解决办法吗?
    • @chaitanya dalvi - 当然,您需要将公共类保存在单独的存储库中,并将其作为 maven(或其他构建工具)依赖项添加到所有其他需要它的微服务中。
    猜你喜欢
    • 1970-01-01
    • 2016-06-15
    • 2021-07-31
    • 1970-01-01
    • 2020-07-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多