5

我正在尝试创建一个后端,在该后端中,我可以让许多用户在我正在创建的 iPhone 应用程序中相互通信。我尝试过使用 Core Data、Google App Engine、Google Cloud Storage 和 Amazon Web Services(RDS 和 Elastic Beanstalk)。不幸的是,经过数周的努力让这些工作正常进行后,没有一个会!

我一直在尝试与了解 Instagram、Path 和 Pinterest 等初创公司(在他们小的时候)如何做到这一点的人取得联系。但是外面的每个人似乎都鄙视这些东西,就像我成长的那样......

我希望有人能够准确地规划出我需要如何创建一个后端数据库,我可以保存和查询许多用户可以看到的数据。这意味着仅 SQLite、Core Data 或 Parse 本身不会在这里工作!

某种教程将是不可思议的。

4

1 回答 1

7

首先,CoreData 和 sqlite 等技术通常是本地设备存储。本地设备存储不会让您共享云存储。

Parse.com 是设备访问云存储和快速运行的一种快速方式。对于游戏和其他移动应用程序通过应用程序 ID 和应用程序密钥访问云数据特别有用。如果它满足您的所有需求和要求,它是避免创建您自己的后端的简单存储。

当您到达一个多租户云后端时,您可以在其中推出自己的服务和多个设备访问您的云应用程序,您需要考虑公开您的 Web API。通过 http 公开 RESTful API 非常适合设备和 Web 客户端。将数据公开为 JSON 对 Web 来说特别方便,并且很容易被设备使用。

云中的那些 Web 服务端点访问某种后端存储,该存储针对多个客户端的并发访问进行了优化。这通常是一个 SQL 后端,如 MySQL、SQLServer 等……或NoSQL解决方案,如mongodbcouchDB等……

需要研究的一些前端 Web api 技术:

需要研究的一些后端存储技术:

如果数据被许多多租户客户端使用,则后端可以扩展(越来越大)或分片。分片是将多个用户的数据拆分为许多数据库或数据存储,并使用某种查找算法来请求查找用户数据的存储位置。前端 Web api 服务器抽象了后端存储。

最后,您最终将需要某种缓存/快速查找技术(如果您成功了 :):

  • Redis:通过套接字快速存储内存
  • memcached:facebook 使用 - 跨许多前端服务器的内存缓存中的简单键值。

您的问题是一个开放式的广泛问题,因此请从谷歌搜索其中许多术语和技术开始。

这些链接中的每一个都将包含资源和教程。获取一个云虚拟机,使用每个虚拟机并确定最适合您需求的虚拟机。没有一种适合所有解决方案的尺寸。

于 2013-01-17T04:02:08.657 回答