更新:我得到的印象是,这甚至不是发布此内容的合适网站。如果有人能指出我正确的方向,我将不胜感激...
我有一个现有的PHP + MySQL应用程序,该应用程序未构建为呈现“实时”或类似的实时样式的数据。但是现在我需要构建一种将近实时数据提取到应用程序中并保持页面上数据新鲜的方式。此实时数据仅在应用程序中为1页。
看过诸如socket.io和基于PHP的websockets库之类的事情,但似乎有点过头了,因为数据基本上来自1个来源,并交付给1个人(客户端)。其他多个用户可能会运行此过程,但是每个用户都会带来自己的数据终结点。那就像...未来的一年。但是很好考虑。理想情况下,系统上将有数百个或数千个用户来提取其实时数据。因此,我希望它尽可能简化并降低影响。
必须对用户进行身份验证和授权才能使用数据。这已经包含在当前系统中。
用于获取数据的API(已由其他供应商构建)也不进行流传输。它设置为20秒的时间表,因此新数据每20秒可用一次,从而满足了客户的需求。
我目前的计划是做这样的事情...
这一切似乎都像是我在重新发明轮子,或者丢失了一些东西。这是一个现有的基于PHP的应用程序(LAMP)的事实确实有一些限制因素,但是我觉得必须有一种更有效的方式来处理此问题...这对我来说是很新的。另外,如果可以使情况变得更好,我也可以在LAMP堆栈上运行其他技术。
答案 0 :(得分:-1)
我会在一开始就说一下API解决方案:)因为它更适合该体系结构,并且可以确保最少的工作量。另外,如果数据的“实时”感觉有问题,您可以通过更频繁地轮询或引入长时间轮询来解决该问题,假设您更改了cron作业时间。
我的意思是说到最后,这完全是对所花费时间的影响,不要开始实施客户不关心的功能:)
要解决的最大问题是以适合您的要求的方式实施它,并且将来可能会扩展。您仍然必须处理诸如分辨率,超时,在请求数据时减少服务器处理等问题!
答案 1 :(得分:-1)
对于我来说,如果您需要维护全局服务状态,因为单个客户端请求可能会影响所有其他已连接的客户端请求,那么大多数服务器端脚本语言都不是最佳选择!另外还要补充一点,如果您打算用PHP实现类似的事情,那么您将为生活中的噩梦做好准备!简单地说,为什么PHP(s)套接字实现如此糟糕!