android - 在 Android 应用程序中使用 Amazon RDS

标签 android mysql amazon-web-services amazon-ec2

背景
我有一个 EC2 实例和一个与之关联的 RDS 实例 (MYSQL)。 我想使用一个 android 应用程序在那个 MYSQL 实例上执行查询。亚马逊的 Android sdk 不支持 RDS。
问题
如何将我的 android 应用程序与 RDS 实例连接?是否可以在没有 sdk 支持的情况下将 RDS(MYSQL) 与 android 应用程序一起使用?

最佳答案

RDS 不是数据库引擎。它是一项为您管理维护高可用性和容错数据库所需的基础架构的服务。它支持许多不同的引擎,例如您提到的 MySQL。请阅读docs获取更多信息。

您需要像连接任何 MySQL 数据库一样连接到 RDS MySQL 实例。使用支持 MySQL 的库,并使用数据库的主机名、用户名和密码。

但是,让电话客户端远程连接到您的数据库可能不是最佳设计。最好的办法是在 AWS 上放置一个与您的数据库接口(interface)的 REST API。

让 n 个用户使用您的应用从每部手机连接到您的数据库可能不是一个好主意。这意味着您需要在数据库中拥有更多功能,这极大地阻碍了您的可扩展性,并且随着数据库暴露在互联网上而降低了安全性。借助前面的 API,您可以构建容错性、可扩展性更高的解决方案。

构建移动应用程序的“云方式”是(在合理范围内)在云上构建您的应用程序逻辑,然后让您的客户端代码连接到您的 API。这样您就可以更轻松地传播到更多平台(例如 IOS、Web),因为您不必为每个平台管理单独的应用程序级代码。您只需要管理与现有 API 集成的代码。

看看这个whitepaper .忽略 Web 服务器层并关注应用服务器和数据库层。这可能是最好的设计。

关于android - 在 Android 应用程序中使用 Amazon RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34706281/

相关文章:

android - RecyclerView onClickListener

mysql - 纠正 MySQL JOIN 格式以避免嵌套 SELECT

java - 在 Hibernate 中保存后无法获得 auto_incremented 字段

用于 AWS S3 的 Python + Boto3 : Error - Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$"

android - 在 Titanium 中,如何让视频在 Android 中播放?

android - 无法使用 Retrofit 2 发布 JSON

java - 试图摆脱未经检查的 Actor 警告

mysql - 如何从每个范围中选择具有最大参数的行数组?

amazon-web-services - 使用 Terraform 设置 AWS Cognito 用户池的账户恢复首选项

amazon-web-services - 在 AWS 上访问 Tensorboard