通俗易懂讲解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等概念的区别的主要内容,如果未能解决你的问题,请参考以下文章