grpc-gateway的替代品--Turbo

vaporz · · 2793 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

转载自:https://zhuanlan.zhihu.com/p/29350695 grpc-gateway是一个使用起来很便捷的工具,可以很方便的把grpc接口用HTTP的方式暴露出去。 但在实际使用过程中,也在grpc-gateway里发现了一些问题,比如: 1,灵活性不够,如果有一些比较特殊的需求,在grpc-gateway中能扩展的余地不大; 2,严重依赖protocol buffer,而且必须是protobuf 3; 3,即使grpc服务的接口不变,只是修改HTTP接口定义,也必须重新生成代码,也就必须重新部署,重启服务; 4,只支持JSON格式的输入,不支持传统的kv格式的参数; 5,只支持grpc,嗯。。好吧,这不算问题,但thrift也很普及,是不是? 6,grpc-gateway在错误处理等方面都不够成熟,而且开发者似乎也不是很活跃。。。 Turbo努力解决了上面提到的问题,这是项目的地址: [vaporz/turbo](https://github.com/vaporz/turbo) 这是文档地址,很贴心很详细,中英双语哦~ [Turbo Documentation](https://vaporz.github.io) 除了提供基本的与grpc-gateway类似的HTTP代理功能,Turbo还可以做到: 1,高度灵活,提供各种基于切面(不是吃的那个“切面”)思想的组件,可以在各个环节进行定制; 2,只依赖grpc,对protocol buffer没有要求,因此,你既可以使用protobuf2,也可以使用protobuf3; 3,HTTP接口的定义,以及与后端接口之间的映射,可以在运行时直接修改,并且立即生效! 4,不仅支持JSON格式的输入,也支持传统的kv格式的输入! 5,不仅支持grpc,还支持thrift! 6,自带命令行工具,一键创建可运行的项目,一键重新生成代码! Turbo目前仍处于诞生初期,但现在的代码已经经过了认真的测试,认真细致的测试用例让测试覆盖率达到了98%。 当然,测试覆盖率说明不了多少问题,只有经过实战考验的代码才是可靠的! 因此,欢迎大家多多试用,多多吐槽,有任何建议或想法,请在GitHub上开Issue,坐等。 遇到任何问题,我愿意尽力帮助,尽力解决! 谢谢!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2793 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传