基于SOA的应用程序/网站是否快速,如何提高性能和速度

时间:2015-11-28 08:18:40

标签: java android performance web-applications soa

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

我现在想的是在Java中创建一个单独的项目,该项目只提供网站,Android应用程序和iOS应用程序的API接口,以及将来还需要与相同的业务逻辑或数据库集成。< / p>

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

问题:

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

1 个答案:

答案 0 :(得分:0)

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

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

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

    • 在多台服务器上扩展图层+负载平衡
    • 尽可能避免数据转换(例如,采用通用数据模型)
  4. 作为公共集中服务层的替代方案,人们会想到微服务。它有自己的好处和复杂性。您可以查看this Martin Fowler article

  5. 希望这有帮助!