目前,我正在开展一个项目,我在两个运行在不同主机上的django应用程序之间建立了服务器 - 客户端关系。
服务器必须存储并提供大量关系数据,例如:供应商,公司,产品等。
客户端根据请求从服务器下载数据并将其添加到其数据库中。客户也可以从他们的站点上传到数据库进行扩展。
开发此项的前一个人使用XMLRPC将大量(典型的13MB)XML文件从服务器传输到客户端。现在我们发送的所有内容都是数据库无关的对象,以便存储在数据库中,所以我想知道是否有更有效的方法来实现它?
如果您需要,请询问更多细节,我不确定您需要知道什么
编辑:在网络和服务器端处理方面高效。客户可以做繁重的工作。
答案 0 :(得分:0)
共享数据库设计似乎更合适。但当然可能存在安全,政治或组织方面的理由。此外,还需要进行重大的重新设计。
要减少网络带宽,请先检查是否已启用HTTP gzip压缩。
如果它只是一个愚蠢的数据传输,JSON通常会比XMLRPC更紧凑。数据是否适合直接转换为JSON?这仍然需要一些服务器端处理。
对于最小的服务器端处理(如果数据库表相对类似),向客户端发送相关db查询的转储可能非常有效。当然,除非表具有相同的模式,否则您必须对原始SQL进行一些客户端处理,这是不理想的。