1.生产者和消费者配置文件(application.xml)中都加入:
dubbo: protocol: serialization: kryo
在pom.xml加入
<!-- https://mvnrepository.com/artifact/de.javakaffee/kryo-serializers --> <dependency> <groupId>de.javakaffee</groupId> <artifactId>kryo-serializers</artifactId> <version>0.42</version> </dependency>
2.要让Kryo和FST完全发挥出高性能,最好将那些需要被序列化的类注册到dubbo系统中,例如,我们可以实现如下回调接口:
public class SerializationOptimizerImpl implements SerializationOptimizer {
public Collection<Class> getSerializableClasses() {
List<Class> classes = new LinkedList<Class>();
classes.add(BidRequest.class);
classes.add(BidResponse.class);
classes.add(Device.class);
classes.add(Geo.class);
classes.add(Impression.class);
classes.add(SeatBid.class);
return classes;
}
}
这时候application.yml里面就要加入对应的配置信息:
dubbo: protocol: serialization: kryo optimizer: SerializationOptimizerImpl的包地址