通俗易懂讲解RPCSpringCloudDubboZookeeperHadoophive等概念的区别

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通俗易懂讲解RPCSpringCloudDubboZookeeperHadoophive等概念的区别相关的知识,希望对你有一定的参考价值。


1. RPC

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

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

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


2. Hadoop

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


3. hive

hive是由Facebook开源用于解决海量结构化日志的数据统计;hive是一个基于hadoop的数据库工具,可以将结构化数据映射成一张数据表,然后将SQL语句转化成MapReduce程序,并提供类SQL的查询(基于Hadoop的大数据高效查询)


4. SpringCloud和Dubbo

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


5. Zookeeper

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


6. 总结

  • RPC是协议,是分布式系统实现的原理
  • Hadoop负责分布式的进行大数据的存储和计算,hisv是Hadoop系统的一个工具
  • SpringCloud和Dubbo承担分布式服务器之间的通信
  • Zookeeper负责组织调度(与Dubbo配合)。

以上是关于通俗易懂讲解RPCSpringCloudDubboZookeeperHadoophive等概念的区别的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令之打包与压缩的详细讲解!!!(干货,易于理解,通俗易懂)

torch.gather()之通俗易懂讲解

通俗易懂讲解WebSocket

电池工作原理:一种通俗易懂的讲解

通俗易懂的讲解CPU/GPU/TPU/NPU/XPU/…

Spring Cloud Alibaba全面讲解,通俗易懂