Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

多语言支持 #848

Closed
apollo-go opened this issue Nov 13, 2017 · 14 comments
Closed

多语言支持 #848

apollo-go opened this issue Nov 13, 2017 · 14 comments
Labels
help wanted Everything needs help from contributors

Comments

@apollo-go
Copy link

你好,请问有多语言支持的计划不,C++、Go、nodejs等

@crazyhuntsman
Copy link

据说阿里内部有套C++版的,不知道能不能开源的。

@RojerAlone
Copy link
Contributor

可以试试 thrift

@chickenlj
Copy link
Contributor

很遗憾,多语言支持目前我们没有足够的人力和资源去做,如果大家愿意参与进来,随时联系我,我们很乐意一同推进。
目前我们只是计划在接下来的版本提供restful的跨语言通信支持

@lovepoem
Copy link
Member

lovepoem commented Nov 14, 2017

多语言支持,很多公司的用法是finagle thrift+参考dubbo做一个服务发现中心。其中Finagle用序列化框架Kryo性能较好。感觉http json作为序列化组件对于java性能还是有点问题

@wuwen5
Copy link
Contributor

wuwen5 commented Nov 15, 2017

推荐下jsonrpc,dubbo-rpc-jsonrpc是依赖于dubbo做的扩展,而不是直接打包在dubbo一起,所以它可以和现有的dubbo项目直接集成不需要修改代码(使用restful可能我们还需要修改业务代码,接口上可能存在差异),可以和dubbo的版本保持同步。这样的好处是 它是一个插件化的扩展包,可以和dubbo的版本很好相处。 同样,我建议后续在支持restful的时候,它是以外围的扩展包组件存在,而不是嵌入在dubbo内部(个人观点)。dubbo本身很大的优势是具有很好的扩展性,所以我建议一些具体的实现,不是打在dubbo.jar内部,而是分离出插件包来。

服务端扩展包
dubbo-rpc-jsonrpc

客户端
python: dubbo-client-py
node: dubbo-node-client

@FelixLiuSheng
Copy link

其实只要支持restful,就支持多语言,只是需要自己去写模块封装

@chickenlj chickenlj added help wanted Everything needs help from contributors type/requirement labels Nov 21, 2017
@chickenlj
Copy link
Contributor

多语言方向目前官方的维护方案是计划restful风格支持。
jsonrpc扩展作为一种基于http传输协议的rpc方案,比soap xml、hessian私有协议易用性更好些。 @wuwen5 是否可以把json-rpc这个扩展transfer到dubbo组织下;python node两个扩展也是特定于jsonrpc的吧?

@wuwen5
Copy link
Contributor

wuwen5 commented Nov 21, 2017

@chickenlj 我们很乐意能transfer到dubbo组织下,希望能一起维护起来。
dubbo组织下fork了一个dubb-rpc-jsonrpc, 需要先删除才能转过去.
image

python node两个扩展也是特定于jsonrpc的吧?

是的

@chickenlj
Copy link
Contributor

Thanks @wuwen5 for your jsonrpc contribution

@ralf0131
Copy link
Contributor

Please checkout the Node.js client: https://github.com/dubbo/dubbo2.js

@ralf0131
Copy link
Contributor

Other language support can be found at: https://github.com/dubbo

@morisenmen
Copy link

dubbo 是否能和dubbogo(https://github.com/AlexStocks/dubbogo)项目合作,以支持较完整的基于dubbo协议的golang的兼容扩展

If dubbo could work with the dubbogo (https://github.com/AlexStocks/dubbogo) project to support a more complete dubbo-based golang compatible extension?

@billowqiu
Copy link

billowqiu commented Jan 16, 2019

目前看到的几个方案大致如下:
1:原生的thrift,这个貌似对现有的dubbo服务有一定改动,看官方例子是需要基于thrift的接口提供impl
2:jsonrpc,不需要现有dubbo服务改动,对其他语言也相对轻量级
3:Hessian,这个协议对c++支持也不太友好
4:service mesh,这个应该目前只是一个提案。。
综合来说,jsonrpc应该是比较折中的方案,虽然效率比二进制类可能差点。

https://github.com/apache/incubator-dubbo-rpc-jsonrpc/ 目前这个扩展在生成环境是否可用,想作为c++调用dubbo的一个方案。

@lovepoem @chickenlj

@ralf0131
Copy link
Contributor

Yes, they are used by Python client and go client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Everything needs help from contributors
Projects
None yet
Development

No branches or pull requests

10 participants