RPC、springcloud、dubbo、hadoop、zookeeper等概念的区别

 

RPC是一个远程调用的技术方式,其可以通过HTTP协议实现,也可以是基于SOCKET自己定义新的协议。其本质是为了让机器在进行远程调用的时候,不需要知道具体是从哪台机器调用,从而实现了服务的解耦。RPC本质上就实现了两个功能,一个是通过socket等实现的网络传输、一个是数据的序列化和反序列化。

RPC 和 HTTP 调用是没有经过中间件的,它们是端到端系统的直接数据交互。HTTP 调用其实也可以看成是一种特殊的 RPC,只不过传统意义上的 RPC 是指长连接数据交互,而 HTTP 一般是指即用即走的短链接。

RPC 在我们熟知的各种中间件中都有它的身影。Nginx/Redis/MySQL/Dubbo/Hadoop/Spark/Tensorflow 等重量级开源产品都是在 RPC 技术的基础上构建出来的,我们这里说的 RPC 指的是广义的 RPC,也就是分布式系统的通信技术。RPC 在技术中的地位好比我们身边的空气,它无处不在,但是又有很多人根本不知道它的存在。

hadoop是一个分布式的计算框架,主要用于分布式的存储(HDFS)和计算(MapReduce,可以被Spark替代),其机器间的技术使用的RPC(RPC可以使用HTTP协议实现,也可以是基于SOCKET自己定义新的协议)。其通俗的解释是将一个计算同时分派到很多机器一起算,每个机器算一部分。

springcloud和dubbo都是分布式的服务框架,主要承担分布式服务器间的RPC通信功能。springcloud的通信协议是REST,dubbo的通信技术是RPC。其通俗的解释是一个程序的不同模块放在了不同机器上,所以他们之间需要用网线来连在一起交互。

zookeeper是一个服务治理的组件,一般用于和dubbo配合使用(springcloud一般和eureka配合),因为dubbo实现了通信功能,但是你如果需要多个机器相应同一个功能模块,就需要 zookeeper来进行调度看什么时候分给哪一个。

转自:https://www.cppentry.com/bencandy.php?fid=114&id=201998

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Spring Cloud和Dubbo都是常用的分布式微服务框架,它们可以用于构建大规模、高可用性的分布式系统。下面是关于Spring Cloud和Dubbo配置的介绍: 1. Spring Cloud配置: - 服务注册与发现:Spring Cloud提供了多种服务注册与发现的方式,包括Eureka、Consul、Zookeeper等。你可以通过在配置文件中指定注册中心的地址和端口来进行配置。 - 负载均衡:Spring Cloud支持多种负载均衡策略,如随机、轮询、权重等。你可以通过在配置文件中指定负载均衡策略来进行配置。 - 服务调用:Spring Cloud提供了RestTemplate和Feign两种方式进行服务调用。你可以通过在配置文件中指定服务的URL或者服务名来进行配置。 - 熔断与降级:Spring Cloud通过Hystrix来实现熔断与降级功能。你可以通过在配置文件中指定熔断器的相关参数来进行配置。 2. Dubbo配置: - 服务注册与发现:Dubbo使用Zookeeper作为默认的服务注册与发现中心。你可以通过在配置文件中指定Zookeeper的地址和端口来进行配置。 - 负载均衡:Dubbo支持多种负载均衡策略,如随机、轮询、一致性哈希等。你可以通过在配置文件中指定负载均衡策略来进行配置。 - 服务调用:Dubbo使用RPC方式进行服务调用,你可以通过在配置文件中指定服务的接口和版本号来进行配置。 - 熔断与降级:Dubbo本身不提供熔断与降级功能,但可以与其他框架(如Sentinel)进行集成来实现熔断与降级。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值