与其他语言交互

跨语言调用必要条件

  • Motan版本为1.0.0以上
  • 使用motan2协议
  • 序列化方式必须通信的两种语言同时支持Motan支持与其他语言版本进行交互,跨语言调用时,需要使用motan2协议,并且需要使用能够进行跨语言交互的序列化方式。由于不同语言特点的不同,跨语言交互时需要在接口设计上进行tradeoff,尽量使用简单数据结构作为参数与返回值。一般以参数和返回值能够进行跨语言序列化与反序列化即可。

Motan2协议可以支持不同序列化方式,序列化方式在不同语言实现中都为可扩展点,如果需要使用定制化的序列化方式,需要交互的语言同时拥有该序列化实现。目前Motan-go版本支持simple序列化,一般接口建议使用此序列化方式,其他序列化方式在后续版本中也会逐步提供。

一般在各版本的demo中使用的都是相同的服务声明,可以进行跨语言调用,后续会在单独的项目中提供各个语言的调用demo,请关注wiki的更新。