前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >国内用 Dubbo 多还是 grpc 的多

国内用 Dubbo 多还是 grpc 的多

原创
作者头像
物立
修改2023-04-21 12:10:33
1K0
修改2023-04-21 12:10:33
举报
文章被收录于专栏:国产

国内用 Dubbo 多还是 gRPC 的多?

gRPC 和 Dubbo 是近几年来,比较火的两款 RPC 的框架,很多人就在问了:在国内,是 Dubbo 用的多还是 gRPC 用的多呢?

gRPC

gRPC 是一个现代的开源高性能远程过程调用(RPC)框架,可以在任何环境中运行。它可以通过对负载平衡、跟踪、健康检查和身份验证的可插拔支持,有效地连接数据中心内和数据中心之间的服务。它也适用于分布式计算的最后一英里,将设备、移动应用程序和浏览器连接到后端服务。

我们可以先去到 github 克隆一个 gRPC 的项目下来并运行:

代码语言:txt
复制
git clone https: //github.com/grpc/grpc-java

接着我们使用 maven 去启动项目,且循环 1000000 次。

代码语言:txt
复制
mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldServer
mvn exec:java -Dexec.mainClass=io.grpc.examples.helloworld.HelloWorldClient

测出来的时间大概为:

代码语言:txt
复制
spend time: 126 can handle 7936 per second

Dubbo

Dubbo 是阿里巴巴出品的,是使用 Java 这种编程语言编写的,Dubbo 跟 RPC 的关系就是:Dubbo 是一种 RPC 的框架,一种分布式服务框架,体现在:

  • 高性能
  • 透明化

Dubbo 也是一种 SOA 服务的治理方案。

而我们对 Dubbo 进行编码,并测试性能:

代码语言:txt
复制
@Service(version = "1.0.0")
public class HelloServiceImpl implements HelloService {

    @Override
    public String SayHello(String name) {
        return "Hello , "+name;
    }
}
代码语言:txt
复制
@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);
    }
}

运行结果

我们进行运行,并查看耗时结果:

代码语言:txt
复制
can handle 12987 per second

结论

Dubbo 性能更好,更受欢迎!

我们可以看出,Dubbo 的性能更加的好,且 Dubbo 是阿里巴巴出品,属于国产 RPC 框架,对于国内的开发肯定是更加友好的。

知识扩展:

了解更多关于 RPC 协议相关知识。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 国内用 Dubbo 多还是 gRPC 的多?
    • gRPC
      • Dubbo
        • 运行结果
        • 结论
          • Dubbo 性能更好,更受欢迎!
          • 知识扩展:
          相关产品与服务
          多因子身份认证
          多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档