0

目前,我正在开发一个项目,在该项目中,两个运行在不同主机上的 django 应用程序之间存在服务器-客户端关系。

服务器必须存储和提供大量的关系数据,例如:供应商、公司、产品等。

客户端根据请求从服务器下载数据并将其添加到他们的数据库中。客户也可以从他们的站点上传到数据库以扩展它。

之前开发此工具的人使用 XMLRPC 将庞大的(通常为 13MB)XML 文件从服务器传输到客户端。现在我们真正发送的只是要存储在数据库中的与数据库无关的对象,所以我想知道是否有更有效的方法来做到这一点?

如果您需要,请询问更多详细信息,我不确定您需要知道什么

编辑:在网络和服务器端处理方面高效。客户可以完成繁重的工作。

4

1 回答 1

0

共享数据库设计似乎更合适。但当然可能有安全、政治或组织方面的原因排除了这种可能性。此外,还需要进行大量的重新设计。

要减少网络带宽,首先检查是否启用了 HTTP gzip 压缩。

如果它只是一个愚蠢的数据传输,JSON 通常会比 XMLRPC 紧凑得多。数据看起来是否适合直接转换为 JSON?这仍然需要一些服务器端处理。

对于最少的服务器端处理(如果数据库表相对相似),仅向客户端发送相关数据库查询的转储可能非常有效。当然,除非表具有相同的架构,否则您将不得不对原始 SQL 进行一些客户端处理,这并不理想。

于 2012-07-05T11:56:47.690 回答