我正在尝试创建一个后端,让许多用户可以在我正在创建的 iPhone 应用程序中相互通信。我尝试过使用 Core Data、Google App Engine、Google Cloud Storage 和 Amazon Web Services(RDS 和 Elastic Beanstalk)。不幸的是,经过几周的努力,一切都不起作用!
我一直在尝试联系一位了解 Instagram、Path 和 Pinterest 等初创公司(在它们还小的时候)是如何做到这一点的人。但那里的每个人似乎都鄙视这些东西,就像我一样……
我希望有人能够简单地详细说明我需要如何创建一个后端数据库,我可以在许多用户可以看到的数据之间保存和查询数据。这意味着仅 SQLite、Core Data 或 Parse 本身无法在这里工作!
某种教程将是令人难以置信的。
首先,CoreData 和 sqlite 等技术通常是本地设备存储。本地设备存储不会为您提供共享云存储。
Parse.com 是设备访问云存储并快速启动的一种快速方式。对于游戏和其他移动应用程序通过应用程序 ID 和应用程序密钥访问云数据特别有用。如果它满足您的所有需求和要求,那么它是简单的存储,可以避免创建您自己的后端。
当您进入多租户云后端并在其中推出自己的服务和访问云应用程序的多个设备时,您需要考虑公开您的 Web API。通过 http 公开 RESTful API 对于设备和 Web 客户端来说非常有用。将数据公开为 JSON 对于 Web 来说特别方便,并且很容易被设备使用。
云中的那些 Web 服务端点访问某种后端存储,该存储针对多个客户端的并发访问进行了优化。这通常是一个 SQL 后端,如 MySQL、SQLServer 等...或者NoSQL http://en.wikipedia.org/wiki/NoSQL解决方案就像mongodb http://en.wikipedia.org/wiki/MongoDB, couchDB http://en.wikipedia.org/wiki/CouchDB, ETC...
一些需要研究的前端 Web API 技术:
- ASP.net web api http://www.asp.net/web-api
- 红宝石 on Rails http://rubyonrails.org/
- Node.js http://nodejs.org/
- etc...
一些需要研究的后端存储技术:
- SQL: MySQL http://www.mysql.com/, SQLServer/Azure SQL http://msdn.microsoft.com/en-us/library/windowsazure/ee336279.aspx, Oracle
- NoSQL:MongoDb、CouchDb、Amazon S3 简单存储等...
如果数据被许多多租户客户端使用,则后端可以扩展(越来越大)或进行分片。分片是将多个用户的数据分成许多数据库或数据存储,并使用某种查找算法来请求查找用户数据的存储位置。前端 Web API 服务器抽象了后端存储。
最后,您最终将需要某种缓存/快速查找技术(如果您成功了:):
-
Redis http://redis.io/:通过套接字快速存储内存
-
内存缓存 http://memcached.org/:facebook 使用 - 跨许多前端服务器的内存缓存中的简单键值。
您的问题是一个开放式的广泛问题,因此首先要谷歌搜索这些术语和技术。
每个链接都会有资源和教程。获取一个云虚拟机,试用每个虚拟机并决定哪个最适合您的需求。没有一种万能的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)