【问题标题】:feasibility chat android using php server? [closed]使用php服务器的可行性聊天android? [关闭]
【发布时间】:2014-08-26 09:06:00
【问题描述】:

我正在制作一个聊天应用程序,android 作为客户端,php 作为服务器(我正在使用 nodejs 实时制作网站),在这个应用程序中,我可以使用 GCM 向其他 android 用户发送消息,流程消息是当消息发送给另一个用户时,消息首先传递给服务器(将数据存储在 mysql 中)并将其传递给目的地的用户,我对此有几个问题。

1.如果我创建一个只使用GCM发送消息的聊天应用程序稳定吗?

2 如果我使用 mysql 作为数据库是否安全?

3 我使用自己的服务器和 ubuntu 服务器 Speck(8GB 磁盘空间和 96MB RAM),如果将 speck 用作聊天服务器是可行的?

4 这个应用在发布方面是否可行,是否被超过 100,000 名用户使用?

您如何看待上述说法?我的应用程序是否会稳定并且将来不会出现严重问题?

谢谢..

【问题讨论】:

    标签: php android mysql node.js


    【解决方案1】:

    您正在使用 PHP、GCM、MySQL 和 Node.js,这很好。

    下面的引文回答了你的第一个问题:

    Google Cloud Messaging for Android (GCM) 是一项服务,可让您 将数据从您的服务器发送到用户的 Android 设备, 并且还可以从同一连接上的设备接收消息。

    1. 是No。需要使用GCM发送消息User -> Server -> User。 User -> User 通常被称为 Peer-to-Peer,GCM 有不同的用途。

    2. MySQL 是安全且成熟的数据库,但绝不应该认为您的 MySQL(或一般的服务器)是安全的,因为技术是安全的。几乎所有对服务器的攻击都是配置错误或基本保护不足的结果。

    3. 100MB RAM 是一个挑战,您可能会遇到问题。您也没有说明那里保证了多少 CPU 功率以及网络。

    4. 10 万用户?不,我会首先关注 1k 用户,然后再担心可扩展性。实际上,您必须更改几乎所有内容才能处理 10 万用户。从好的方面来说,如果您要拥有该用户群,您将有更大的预算来管理它。并且要处理 1000 个用户,您指定的服务器 100% 还不够,尽管一旦您升级到普通的专用服务器或云服务器,技术应该可以完成任务。

    【讨论】:

    • 对于第 1 个答案。我使用 GCM 发送消息用户->服务器->用户。 3. 是的,100MB RAM 对于聊天应用来说太小了,我会升级它。 4.当前服务器是VPS,我以后会升级到专用,但是我应该什么时候升级?关于云服务器?你有使用云的经验吗?专用和云,我的应用程序的最佳选择是什么?
    • 你担心的是未来,而不是现在。你将有很大的困难,但你现在无法解决它们,所以不要太担心。专用比云便宜。云更易于维护和扩展,但成本更高。关于什么时候升级的问题——当你发现你的电流不能再为你服务时。除非你也想成为兼职系统管理员,否则我会去 Cloud。
    • 最后一个问题,你认为我做的对吗(聊天应用选择 GCM、PHP、Nodejs),然后添加 Speck 更大的服务器,对吗?如果是这样,我还需要什么来使我的应用程序获得更好的性能? (需要建议)
    • 为了改进算法,你编写一个,然后直接问一个问题“如何改进这几行代码?”在编程 stackexchange 站点中。我发现 GCM + Nodejs + MySQL 是理性的选择。 PHP 还不错,但如果你从头开始,我不确定你为什么需要它。另外,请不要成为帮助吸血鬼。
    • 好的,谢谢@alandarev,我会详细了解的..
    【解决方案2】:

    GCM 提供了一些非常重要的功能 Android 设备不会轮询接收通信。相反,当应用程序服务器发送数据时,GCM 服务器会将数据推送到已注册的设备上。通过避免轮询,移动设备可以延长电池寿命。

    对于可扩展性部分,与其他 Google API 不同,GCM 服务没有配额,因此对于使用该服务的任意数量的消息或设备来说,它是完全免费的。

    Stack Overflow 有一系列关于 GCM 内部运作的问答。浏览它们

    https://stackoverflow.com/questions/tagged/android-gcm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-13
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多