在设计通信消息体时一些设计原则

2018-01-16  本文已影响0人  pgr_23dd

如果把消息写入文件,一个文件对应一个消息,那么序列化结果不需要包含长度和类型,从文件名和文件长度中可以得知消息的类型和长度

如果把消息写入文件,一个文件对应多个消息,那么序列化结果中不需要包含类型,因为文件名就代表了消息的类型。

如果把消息存入数据库(或者NOSQL),以 VARBINARY字段保存,那么序列化结果中不需要包含长度和类型,因为从字段名和字段长度可以得知消息的类型和长度。

如果消息以udp的方式发送给对方,而且对方的一个UDP port 只接受一种消息类型,那么序列化结果中不需要包含长度和类型。

如果以tcp 短连接的方式,并且一个TCP prot一种消息类型,那么同样不需要。

如果以tcp长连接的方式 但是 一个tcp port 一种消息类型那么序列化中不需要包含类型。

如果采用rpc的方式那么只用 提供 method name 其他的应该由 服务端和注册中心来提供。

上一篇下一篇

猜你喜欢

热点阅读