gpt4 book ai didi

java - 基于 SOA 的应用程序/网站快吗?如何提高性能和速度

转载 作者:太空宇宙 更新时间:2023-11-04 13:10:52 25 4
gpt4 key购买 nike

目前我有一个基于 Java 的网站,它使用 JDBC 与 native 数据库集成。但现在我开发了一个 Android 应用程序和一个 iOS 应用程序,它们在 native 应用程序中提供相同的网站功能。 Android和iOS应用程序目前都与网站项目连接以访问API

我现在正在考虑的是用 Java 创建一个单独的项目,该项目仅向网站、Android 应用程序和 iOS 应用程序提供 API 接口(interface),并且将来如果还有任何需要与相同业务逻辑或数据库集成的项目。

但在继续之前,我想了解一下这种做法是否正确。在我看来,这会妨碍网站的速度和性能,因为它需要使用 JSON 数据从服务访问数据,这需要将对象转换为 JSON,然后再次解析它们以呈现 View 。

问题:

  1. 这种方法正确吗?创建一个类似 SOA 的架构,其中服务项目仅提供 API?
  2. 会影响性能和速度
  3. 如果是,如何解决这个问题?
  4. 是否有任何其他选项可供探索,以构建这样的架构,让多个应用访问相同的业务逻辑或数据

最佳答案

  1. 你的想法是正确的。通过实现向所有使用应用程序公开 API 的联合服务层,您将实现关注点分离,将 UI 和数据模型解耦,并且能够在不破坏任何使用公共(public)层的应用程序的情况下实现核心逻辑更改。您还可以轻松地将更多消耗应用程序添加到场景中。

  2. 是的,服务层中的任何数据处理自然都会影响速度和性能。

  3. 解决性能问题的方法有很多,具体取决于具体问题和您的预算。我想到的一些解决方案是:

    • 在多个服务器上扩展层 + 负载平衡
    • 尽可能避免数据转换(例如采用通用数据模型)
  4. 微服务是作为公共(public)集中式服务层的替代方案而出现的。它有其自身的优点和并发症。您可以查看this Martin Fowler article .

希望这有帮助!

关于java - 基于 SOA 的应用程序/网站快吗?如何提高性能和速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33969219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com