什么是Android应用程序与远程或云数据库之间的高性能集成



>我正在开发Android应用程序,该应用程序在用户使用时需要经常更新远程或基于云的MySQL数据库,例如用户添加新朋友,此信息将保留在远程数据库中。

将Android应用程序集成到远程数据库的高性能方法是什么?

假设管理远程数据库的应用程序基于 Java。

可能性包括:

  • 像在标准 Web 应用程序中一样使用纯 HTTP URL
  • 使用JMS
  • 使用网络服务
  • 使用基于 ESB 的解决方案
  • 最终,您将拥有三种可能的解决方案之一,要么是 SOAP 服务,要么是 url/REST 服务,要么是打开自己的套接字。

    对于移动设备来说,SOAP 通常不是一个好的解决方案,有很多开销,并且在 Android 上不受开箱即用的支持。

    因此,您可以归结为发布到URL,这类似于REST服务。 这是最轻量级的方法,但是您需要决定如何打包它,因为必须发送的数据越多,性能就越低。

    因此,您可以使用自己的编码方案,例如使用 xml 或 JSON。 使用您自己的方案基本上是重新发明轮子,IMO,我更喜欢JSON,因为您可以选择不包含标签,因此您只需发送数据,并添加一些所需的额外字符。

    您可以打开自己的插座连接,但是,这也在重新发明轮子。

    因此,为了获得最佳性能,我会使用 REST 服务,基本上只提交 JSON 数据,因为这需要以最少的工作量获得最佳性能。

    我忘了,根据服务器端的功能,您的性能会受到打击。例如,如果您使用基于 ESB 的解决方案,该解决方案仍在调用 SOAP Web 服务(坏主意),但随后那里的数据流会影响性能。

    JMS/ESB 实际上取决于您对其他操作需求的需求。例如,如果我将数据发送到您的服务器,然后您的服务器在处理之前关闭,我应该再次发送数据,还是需要能够从停止的地方继续。

    这取决于您正在处理的内容。如果您处理了信用卡,那么重新发送是一个坏主意,因为这意味着该卡会被收取两次费用,但添加朋友应该没问题,因为您可以确定朋友已经添加并进行更新。

    最新更新