支持2种类型
根据应用场景选择不同的序列化。
传输速度要求不高的可以选择可读性强的文本类序列化 (一般对接第三方系统有此类需求,基于HTTP协议)
传输速度要求高的可以选择传输体小的二进制序列化(一般内部系统调用有次类需求,基于TCP\UDP协议)
以上2种序列化的内容都可以对传输内容做压缩
二进制(易于扩展)
- nustaq
- esotericsoftware
- JDK自带
- 未用,未来可能会加上(框架扩展性强,加上容易)
ProtoStuffSerializer文本(json)(易于扩展)
- 阿里的fastjson
- jacksonJson
- nustaq
支持6类序列化实现
- 具体见代码
备注:此处省略了以前常用的xml(属于文本类型)

关键代码
public enum SerializerType {
FST_BINARY("fstBinarySerializer"),
KRYO_BINARY("kryoBinarySerializer"),
JDK_BINARY("jdkBinarySerializer"),
JACKSON_JSON("jacksonJsonSerializer"),
ALI_JSON("aliJsonSerializer"),
FST_JSON("fstJsonSerializer");
private String value;
private SerializerType(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public static SerializerType fromString(String value) {
for (SerializerType type : SerializerType.values()) {
if (type.getValue().equalsIgnoreCase(value.trim())) {
return type;
}
}
throw new IllegalArgumentException("Mismatched type with value=" + value);
}
@Override
public String toString() {
return value;
}