weibocom / motan

A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.
Other
5.9k stars 1.78k forks source link

有没有像dubbo那样做泛化调用 #348

Open tangdu opened 7 years ago

tangdu commented 7 years ago

有没有像dubbo那样做泛化调用?做自动化测试很管用呢

rayzhang0603 commented 7 years ago

可以评估一下使用mock协议或mockfilter是否能满足你自动化的需求,可以参考https://github.com/weibocom/motan/issues/279

qiaobinwang commented 6 years ago

这只是mock数据,那motan有没有实现泛化调用呢?比如如何实现一个统一网关?

rayzhang0603 commented 6 years ago

为兼容多语言调用,client端会在后续版本增加泛化调用。

实现统一网关我理解是一种代理模式,可以考虑实现一个proxy的protocol扩展,主要目的是实现转发的com.weibo.api.motan.transport.MessageHandler。

如果使用motan2协议的话,也可以考虑使用motan-go版本的agent来实现。

wingyiu commented 5 years ago

进展如何?@rayzhang0603

qiaobinwang commented 5 years ago

弃用了,motan某些地方设计相当不合理,但是还是留着一组服务继续用~以观后效。

------------------ 原始邮件 ------------------ 发件人: "wingyiu"notifications@github.com; 发送时间: 2019年5月4日(星期六) 下午4:42 收件人: "weibocom/motan"motan@noreply.github.com; 抄送: "乔斌"qiaobinwang@qq.com; "Comment"comment@noreply.github.com; 主题: Re: [weibocom/motan] 有没有像dubbo那样做泛化调用 (#348)

进展如何?@rayzhang0603

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

rayzhang0603 commented 5 years ago

@wingyiu 目前motan2协议能够支持泛化调用,使用方法可以参考demo模块的Motan2RpcClient中的motan2XmlCommonClientDemo这个方法

rayzhang0603 commented 5 years ago

@qiaobinwang 你好,哪里设计的不合理或者有什么好的建议也非常欢迎反馈一下,我们看看有没有可能调整完善一下,多谢了

qiaobinwang commented 5 years ago

第一个是泛化调用 第二个是端口占用太多(也有可能是我们使用的问题)

------------------ 原始邮件 ------------------ 发件人: "Ray"notifications@github.com; 发送时间: 2019年5月5日(星期天) 下午3:09 收件人: "weibocom/motan"motan@noreply.github.com; 抄送: "乔斌"qiaobinwang@qq.com; "Mention"mention@noreply.github.com; 主题: Re: [weibocom/motan] 有没有像dubbo那样做泛化调用 (#348)

@qiaobinwang 你好,哪里设计的不合理或者有什么好的建议也非常欢迎反馈一下,我们看看有没有可能调整完善一下,多谢了

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

rayzhang0603 commented 5 years ago

@qiaobinwang 好的,谢谢。泛化调用在motan2协议中已经支持了,不过使用姿势还不算优雅,后续会提供更易用的封装方式,方便跨语言交互时使用。

端口占用多的问题可以试试在service或者basicservice标签中设置shareChannel=true,只要协议、序列化方式等protocol标签的配置一致就可以的。

wingyiu commented 5 years ago

我还想要泛化异步调用(做网关异步化)

rayzhang0603 commented 5 years ago

@wingyiu 把demo中的client.call(...改成client.asyncCall(...就可以了,此时返回值类型是ResponseFuture

gavenwangcn commented 4 years ago

motan对泛化支持的太弱了,这个做中间件支持很大的短板啊,赶紧要支持啊