- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的架构中以多种方式使用 JMS。
延迟和性能是我们架构中非常重要的因素。
我读到,使用 jms 和 ObjectMessage 来传递消息中的整个 java 对象需要大量的性能。
替代解决方案是转换为 json、protobuff 并将消息作为字节消息/文本消息发送。
您能帮我解释一下吗:
如果我选择 json。从 String 转换为 json 后我应该发送消息
作为测试还是作为 ByteArray? (有什么区别吗?)
是发送方将String转换为json的总时间
反之亦然,在消费者方面会比仅发送 ObjectMessage 更少/更多?
谢谢,射线。
最佳答案
只是我的2美分
1) IMO,您应该使用 TextMessage 发送 String 中的数据并将其反序列化为 Json 对象。 我无法告诉您确切的性能统计数据,但我猜序列化比编码更好,因为当您将其重建为对象时,它的开销更少。
Comparing Marshalling with serialization
2)此外,只需避免将数据作为对象流发送, 消息可以由非基于 java 的消息解决方案接收和处理
A big downside of Externalizable is that you have to maintain this logic yourself – if you add, remove or change a field in your class, you have to change your writeExternal/readExternal methods to account for it.
关于java - 在 JMS 中使用 bytemessage 代替 objectMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15218386/
我在我的架构中以多种方式使用 JMS。 延迟和性能是我们架构中非常重要的因素。 我读到,使用 jms 和 ObjectMessage 来传递消息中的整个 java 对象需要大量的性能。 替代解决方案是
我是一名优秀的程序员,十分优秀!