跨平台消息传递应用程序的架构

Architecture for cross platform messaging app

我希望首先在 android 中构建一个移动消息传递应用程序,然后在 ios 中构建一个移动消息传递应用程序,并且正在为后端架构而苦苦挣扎,并且需要一些关于在我的情况下最好的建议。基本上我习惯于通过基本的网络服务器开发应用程序并使用 mysql 和 php,但现在我认为并想要创建一些不仅非常可靠和快速而且可扩展且可以被 android 和 ios 平台使用。

我正在考虑使用他们的 google 应用引擎或 google 计算引擎在 google 云平台上开发它,具体取决于我使用的其他架构。此外,我打算使用 google 云消息作为我处理消息的主要方式,但是我现在不确定,因为它仅受 运行 在 android 上的应用程序支持,并且不是 ios,而且我听说它在某些丢失的消息中可能不可靠。

我的主要问题是我听说过很多关于 ejabberd、xmpp、socket i.o 和 redis 等数据库的不同架构的消息,它们都可以很好地与消息传递应用程序配合使用,但是我不确定该去哪一个这将很好地协同工作。

抱歉,如果这看起来有点混乱,但我不想开始开发我以后必须改变的东西。感谢帮助

你问的是很多不同的事情。

  • 存储:可以是 mysql 数据库或类似 mongo db
  • 的东西
  • 传输协议:XMPP 是一种包含许多聊天功能的聊天协议,但浏览器不支持它。 WebSocket 更底层,更通用,但在浏览器中运行
  • 网络服务器软件:你基本上需要访问数据库并能够传输 XMPP 或 WebSocket。为此,我建议 node.js。 PHP 更适合网页

上周宣布:通过 Google Cloud Messaging 3.0 与 Android、iOS 和 Chrome 的用户互动: