“实时”应用程序或接近它

时间:2014-11-20 18:31:18

标签: sockets real-time

例如,我们有一个应用程序,其任务是:

  1. 用户向服务器发送数据(此处全部清除)
  2. 服务器将数据发送到客户端
  3. 移动设备一切都很清晰。我的服务器将数据发送到Push Server,然后Push Server将数据发送到设备,然后设备转到服务器并从服务器下载数据。

    但是如何处理浏览器扩展,Mac OS应用程序或Windows程序?在这里,我看到两种变体:

    1)每隔x秒从服务器请求数据。例如,如果我们将使用30秒间隔,那么将不是“实时”的,但如果我们每2秒钟请求10 000个客户端的数据(例如),它将看起来像是自我ddos攻击。

    2)使用套接字。我知道套接字适用于聊天应用,但如果我们的应用不是聊天,例如我们将每5-60分钟或更长时间发送数据。当我阅读关于套接字上的许多性能测试的文章时,使用具有大量人员的套接字服务器(让我们想象大约1-10万个连接)需要大量的资源。

    也许我错过了一些东西,或者这个案例还有其他选择。 你能指导我走正确的路吗?如何尽快将数据发送到客户端?

1 个答案:

答案 0 :(得分:0)

  1. 缓存频繁发送数据以便数据库调用等 处理可以避免。
  2. 使用适合大容量网络流量的设备和可以处理高负载的服务器
  3. 当您的服务器太忙而无法处理时,丢弃流量
  4. 如果可能,请对客户进行编程,使他们能够以不同的时间间隔进行连接 - 而不是一次性连接。
  5. 维护多台服务器并使用负载均衡器分发请求。一种简单的负载均衡方法是使用DNS循环 - 我不是说你应该把它扔掉那里。