关于RESTful服务器的想法

关于RESTful服务器的想法,rest,Rest,好的,我和一位朋友就如何在restful环境中处理数据处理进行了争论 其主要思想是应用程序向服务器发送一个数据,该数据是设备的位置(lat和long),并期望ping回最近的设备 我的论点是,确定latlong位置的“最近设备”的过程应该在服务器中完成,并且只需ping回最近设备的latlong 朋友说这个过程应该是这样的。。服务器将用其latlong ping回每个设备的json,然后客户端本身将确定哪一个是最近的。否,我认为所有信息都应该由服务器管理 如果我理解,请描述以下schenario

好的,我和一位朋友就如何在restful环境中处理数据处理进行了争论

其主要思想是应用程序向服务器发送一个数据,该数据是设备的位置(lat和long),并期望ping回最近的设备

我的论点是,确定latlong位置的“最近设备”的过程应该在服务器中完成,并且只需ping回最近设备的latlong


朋友说这个过程应该是这样的。。服务器将用其latlong ping回每个设备的json,然后客户端本身将确定哪一个是最近的。

否,我认为所有信息都应该由服务器管理

如果我理解,请描述以下schenario:

  • 客户端发送它的coords
  • 服务器发送到任何设备的客户端坐标
  • 客户端接收数据并计算最近的设备
我的问题是:为什么客户机要计算(可能)数千台设备中任何一台的距离

  • 其精化能力不高
  • 您消耗的带宽最多
  • 任何信息都已由服务器负责
在我看来,最好的主意是提供一种宁静的服务,其中:

  • 任何客户端都会定期发送其位置(POST)
  • 当客户端需要一定数量的邻居时,执行请求(GET)
  • 服务器将包含最新的数据、服务器计算距离、服务器创建并仅发送少量JSON作为响应

这是我的看法

不,我认为所有信息都应该由服务器管理

如果我理解,请描述以下schenario:

  • 客户端发送它的coords
  • 服务器发送到任何设备的客户端坐标
  • 客户端接收数据并计算最近的设备
我的问题是:为什么客户机要计算(可能)数千台设备中任何一台的距离

  • 其精化能力不高
  • 您消耗的带宽最多
  • 任何信息都已由服务器负责
在我看来,最好的主意是提供一种宁静的服务,其中:

  • 任何客户端都会定期发送其位置(POST)
  • 当客户端需要一定数量的邻居时,执行请求(GET)
  • 服务器将包含最新的数据、服务器计算距离、服务器创建并仅发送少量JSON作为响应
这是我的看法

这样看:

服务器是存储和处理所有数据的数据中心

客户机是从服务器获取数据、向用户呈现数据并从用户处获取输入的东西

现在你必须考虑一下。客户机的工作是向用户查看数据,并接受用户的输入。服务器的任务是处理所有数据,并以客户机需要对其进行最少处理的方式进行转换

例如,客户机从服务器获取一些数据,他现在所要做的就是在屏幕上显示数据。客户端应该有最少的数据处理。这是服务器的工作。服务器的任务是使客户端的工作尽可能简单。
客户机在后台还有其他事情要做(可能也适用于其他应用程序)。它的CPU不是专用于您的应用程序的,而您的服务器是专用的

客户需要什么?最近的装置。客户机向服务器询问什么?“嘿,服务器,告诉我最近的设备是什么。”。服务器应该返回什么?没错,最近的设备。不是客户端必须自己挖掘的所有设备的列表。

这样看:

服务器是存储和处理所有数据的数据中心

客户机是从服务器获取数据、向用户呈现数据并从用户处获取输入的东西

现在你必须考虑一下。客户机的工作是向用户查看数据,并接受用户的输入。服务器的任务是处理所有数据,并以客户机需要对其进行最少处理的方式进行转换

例如,客户机从服务器获取一些数据,他现在所要做的就是在屏幕上显示数据。客户端应该有最少的数据处理。这是服务器的工作。服务器的任务是使客户端的工作尽可能简单。
客户机在后台还有其他事情要做(可能也适用于其他应用程序)。它的CPU不是专用于您的应用程序的,而您的服务器是专用的


客户需要什么?最近的装置。客户机向服务器询问什么?“嘿,服务器,告诉我最近的设备是什么。”。服务器应该返回什么?没错,最近的设备。并非所有设备的列表,客户必须自己去挖掘。

CPU功率与带宽使用的永恒传奇。要得到答案,你需要发布更多的细节。这就是所有的信息。我想不出还有什么可以包括在内。编辑时,该应用程序就像一个抓取式应用程序——CPU功率与带宽使用率之间的永恒较量。要得到答案,你需要发布更多的细节。这就是所有的信息。我想不出还有什么可以包括在内。编辑,该应用程序就像一个抓取出租车应用程序,这也是我的立场。我只是想有更确凿的证据证明这是正确的做法。@正如我说的,您应该考虑带宽使用情况、客户端性能、对算法的编辑和优化(它只在服务器上,不在任何客户端上)。。。其他问题在“Tim Castelijns”回答中:考虑多层应用程序。。。客户端(移动设备)负责演示:避免其执行任何不必要的操作。:)这也是我的立场。我只是想有更确凿的证据证明这是正确的做法。@正如我说的,您应该考虑带宽使用情况、客户端性能、对算法的编辑和优化(它只在服务器上,不在任何客户端上)。。。其他问题在“Tim Castelijns”回答中:考虑多层应用程序。。