Java netty编解码器与smooks编组

Java netty编解码器与smooks编组,java,netty,smooks,Java,Netty,Smooks,在通过TCP、HTTP或SOAP或其他传输协议处理基于文本的EDI X12消息有效负载(例如)时,是否有人有以下示例或智慧之词: 1) 使用netty进行简单的传输协议帧编码(例如TCP STX/ETX帧、HTTP帧),然后将原始有效负载转发给另一个工具(如Smooks)进行解析/编组。(如果除了smooks还有其他选择,请分享!) 2) 或者使用Netty和自定义编解码器解析复杂的循环内容(段、字段、组件等) 在这两种情况下似乎都是可能的,但要寻找足够的性能(1000条消息/秒)、低延迟(10

在通过TCP、HTTP或SOAP或其他传输协议处理基于文本的EDI X12消息有效负载(例如)时,是否有人有以下示例或智慧之词:

1) 使用netty进行简单的传输协议帧编码(例如TCP STX/ETX帧、HTTP帧),然后将原始有效负载转发给另一个工具(如Smooks)进行解析/编组。(如果除了smooks还有其他选择,请分享!)

2) 或者使用Netty和自定义编解码器解析复杂的循环内容(段、字段、组件等)

在这两种情况下似乎都是可能的,但要寻找足够的性能(1000条消息/秒)、低延迟(10ms或更低)、低延迟标记(如最小GC),并且如果创建编解码器或解析器/封送器,它是否可移植到其他传输协议/其他(java)系统

无知/困惑的一部分是消息的编解码器与封送器/解析器,特别是当消息可以直接通过TCP传输时


谢谢你的指导

回答我自己的问题:我们使用了一个Camel解决方案,其中netty4http是端点(用于http帧),smooks(作为Camel数据格式)用于EDI负载解析

对于大小约为1.5kb的X12负载,在EDI到Java解组器impl上,Smooks的延迟范围似乎在20-40ms之间。封送处理我使用来自java对象的direct writer,因为在smooks camel数据格式上使用封送处理不起作用

虽然延迟更高,但设置edi xml文件映射和使用maven ejc插件从edi xml创建java绑定对象的速度非常快。对于快速周转,与长期运行时性能相比,对于我的场景来说,这是一个很好的折衷方案