java - 在两个 Google App Engine 实例之间传递数据([Integer + Double] 对列表)的最有效方法是什么?

标签 java google-app-engine serialization

在两个 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 对可以获得最佳性能。交替写入从输入列表中提取的 intdouble 值,并在另一端读取这些值并在另一端重建等效的对列表。 (并首先发送列表长度以使重建更加高效。)

关于java - 在两个 Google App Engine 实例之间传递数据([Integer + Double] 对列表)的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251344/

相关文章:

java - Hibernate:PropertyNotFoundException:找不到 XXX 的 getter

entity-framework - 当 POCO 具有 IsReference = true 属性时序列化 EF 代理

c# - JSON反序列化器继承泛型类型

java - 如何通过xstream为对象别名?

java - JEdi​​torPane - 没有 HEIGHT 参数的 IMG 标签

java - 解析相对于基本 URI 的子 URI

java - 关联数组的实现

google-app-engine - 云数据存储 client.GetAll 类型不匹配但 client.Get 有效

google-app-engine - 使用 Play Framework 和 Google App Engine 的 HttpOnly/secure cookies

java - 进行 Thymeleaf/OGNL 方法访问时出现 IllegalAccessException