在两个 Google App Engine 实例之间传递数据([Integer, Double] 对列表)的最有效方法是什么?
目前我使用 Java 二进制序列化。前端 Servlet 以 JSON 格式从客户端接收数据。我使用 ObjectOutput.writeObject
将其转换为 byte[]
,然后通过 HTTP POST 将其发送到后端 servlet。尚未投入生产。
我应该将客户端的 JSON 按原样传递给后端吗?这似乎更符合逻辑。但它的尺寸更大。
或者我应该按照 this benchmark article 中所述使用 Google Protocol Buffers ?
谢谢!!!
最佳答案
我的建议是亲自尝试这 3 个选项。对于如此简单的数据结构,尝试替代方案所需的工作应该相对较小。 (这里有人针对您的特定用例尝试过这 3 种替代方案的可能性非常小,因此任何直接答案都可能主要是最佳猜测。)
但是在你花时间讨论这个问题之前,问问自己是否可以证明它是合理的。这里是否存在真正的性能问题,或者只是推测可能存在问题?你能量化一下吗?值得花精力吗?
<小时/>如果我们进行猜测,我认为使用简单的 DataOutputStream
/DataInputStream
对可以获得最佳性能。交替写入从输入列表中提取的 int
和 double
值,并在另一端读取这些值并在另一端重建等效的对列表。 (并首先发送列表长度以使重建更加高效。)
关于java - 在两个 Google App Engine 实例之间传递数据([Integer + Double] 对列表)的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251344/