我不知道这是否是解决此问题的正确/最佳位置,如果不是,我很抱歉,请告诉我它在哪里。
我已经编写了类似于 WhatsApp 的应用程序,并且可以与 localhost、PHP、MySQL、Google Cloud Messaging (GCM) 和 XMPP 配合使用。
现在我需要网络空间来使这个应用程序的服务可供全世界使用。
所以我的问题是:
您可以向我推荐哪些网络托管公司,它们不太贵并且可以稳定地处理大量用户(例如20亿)的流量?
有什么经验吗?
最佳答案
AWS(Amazon Web Services)和 Microsoft Azure 等扩展服务是最便宜的扩展方式,因为在实际使用之前您不会开始为扩展付费。然而,问题在于扩展并不完全是基础设施问题。您的代码还需要能够正确扩展,我可以根据经验告诉您,MySQL 将成为您在扩展时最头疼的问题。
MySQL 内置的扩展方法是复制,它非常适合偶尔写入和大量读取。问题是您的服务将是 50% 读取、50% 写入,这意味着您的事务时间将从 1-3 毫秒到 100-1000 毫秒波动,具体取决于复制位置之间的流量和距离。
此外,PHP(即使在像 Nginx 或 Node 这样的非阻塞服务器后面)仍然是面向线程的,因此如果您等待 100 毫秒来等待 SQL 调用返回,您就会浪费大量的计算时间,并为此付费不管你的线程是否真的在做某事。
我强烈建议您考虑编写一个 NODE 服务器,它将写入 Reddis 或等效的内存映射数据库来处理延迟关键部分(用户聊天)。您仍然可以使用 PHP 后端和 MySQL 来长期存储对话并执行数据分析。如果您想了解有关如何构建这样一个系统的更多详细信息,请发表评论,我将为您进行更深入的介绍。
关于php - Android:网络托管公司对 WhatsApp 等应用程序的推荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344732/