国内用 Dubbo 多还是 grpc 的多

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

## **国内用 Dubbo 多还是 gRPC 的多?** gRPC 和 Dubbo 是近几年来,比较火的两款 RPC 的框架,很多人就在问了:在国内,是 Dubbo 用的多还是 gRPC 用的多呢? ### **gRPC** [**gRPC**](https://apifox.com/apiskills/introduction-to-grpc/) 是一个现代的开源高性能远程过程调用(RPC)框架,可以在任何环境中运行。它可以通过对负载平衡、跟踪、健康检查和身份验证的可插拔支持,有效地连接数据中心内和数据中心之间的服务。它也适用于分布式计算的最后一英里,将设备、移动应用程序和浏览器连接到后端服务。 ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/61a1e22a974d41f985bc9e491775ffff~tplv-k3u1fbpfcp-zoom-1.image) 我们可以先去到 github 克隆一个 gRPC 的项目下来并运行: ``` git clone https: //github.com/grpc/grpc-java ``` 接着我们使用 maven 去启动项目,且循环 1000000 次。 ``` mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldServer mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldClient ``` 测出来的时间大概为: ``` spend time: 126 can handle 7936 per second ``` ### **Dubbo** [**Dubbo**](https://apifox.com/apiskills/dubbo-protocol-book/) 是阿里巴巴出品的,是使用 Java 这种编程语言编写的,Dubbo 跟 RPC 的关系就是:Dubbo 是一种 RPC 的框架,一种分布式服务框架,体现在: - 高性能 - 透明化 Dubbo 也是一种 SOA 服务的治理方案。 ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/440d01db9ea44f88bba76f5eea014cc9~tplv-k3u1fbpfcp-zoom-1.image) 而我们对 Dubbo 进行编码,并测试性能: ``` @Service(version = "1.0.0") public class HelloServiceImpl implements HelloService { @Override public String SayHello(String name) { return "Hello , "+name; } } ``` ``` @RestController public class HelloController { private final Long testScale = 1000000L; @Reference(version = "1.0.0") HelloService helloService; @GetMapping("sayHello") public String sayHello( String name){ name = " world"; Long now = Instant.now().getEpochSecond(); for(int idx = 0; idx < testScale; idx++){ System.out.println( helloService.SayHello(String.format("%s:%d",name,idx))); } Long duration = Instant.now().getEpochSecond() - now; System.out.println(String.format("can handle %d per second", testScale/duration)); return String.format("can handle %d per second", testScale/duration); } } ``` ### **运行结果** 我们进行运行,并查看耗时结果: ``` can handle 12987 per second ``` ## 结论 ### **Dubbo 性能更好,更受欢迎!** 我们可以看出,Dubbo 的性能更加的好,且 Dubbo 是阿里巴巴出品,属于国产 RPC 框架,对于国内的开发肯定是更加友好的。 ## 知识扩展: 了解更多关于 RPC 协议相关知识。 - **[分布式 RPC 框架比较:dubbo、dubbox、motan、thrift、grpc](https://apifox.com/apiskills/comparison-of-rpc-frameworks/)** - **[RPC 远程接口调用:详解实现和优化](https://apifox.com/apiskills/rpc-remote-interface-call/)**

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

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

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