大数据日知录【第六章:分布式通信】进程和进程之间如何通信
2016-10-25 18:40
302 查看
消息交换:
分布式通信是位于不同机器上进程间通信的粘合剂
若单纯的以JSON或者XML传递信息的话,太多重复传递Schema的过程,通信效率低。
序列化的框架传输效率高
消息队列:
模式:消息队列模式和Pub-Sub模式
Kafka:(至少送达一次,可以读取历史的消息)
消息生产者-->代理服务器<--消息消费者主动去拉去对应主题的消息
消息存储:划分成小文件存储,使用内存表建索引
与Zookeeper的联合使用:状态信息,管理信息都放在zookeeper里面,Zookeeper负责维护消费者和Topic以及数据分片之间的关系
磁盘读写:
顺序读写和随机读写的速度会相差6000倍,对于随机读写,可以通过预读和迟写的操作(比如有一块内存保留数据)将其变为顺序写,有时,顺序写的速度比内存还要快一些。
多播协议(将数据通知到网络中多个接收方):
Gossip协议: 常用的模式:全部通知模型(将一个消息传给所有人,有中途丢失的风险),反熵模型(一传十,十传百,最常用),散步谣言模型(增加传播停止的判断,有可能没有全部更新)
分布式通信是位于不同机器上进程间通信的粘合剂
若单纯的以JSON或者XML传递信息的话,太多重复传递Schema的过程,通信效率低。
序列化的框架传输效率高
消息队列:
模式:消息队列模式和Pub-Sub模式
Kafka:(至少送达一次,可以读取历史的消息)
消息生产者-->代理服务器<--消息消费者主动去拉去对应主题的消息
消息存储:划分成小文件存储,使用内存表建索引
与Zookeeper的联合使用:状态信息,管理信息都放在zookeeper里面,Zookeeper负责维护消费者和Topic以及数据分片之间的关系
磁盘读写:
顺序读写和随机读写的速度会相差6000倍,对于随机读写,可以通过预读和迟写的操作(比如有一块内存保留数据)将其变为顺序写,有时,顺序写的速度比内存还要快一些。
多播协议(将数据通知到网络中多个接收方):
Gossip协议: 常用的模式:全部通知模型(将一个消息传给所有人,有中途丢失的风险),反熵模型(一传十,十传百,最常用),散步谣言模型(增加传播停止的判断,有可能没有全部更新)
相关文章推荐
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- android中进程与进程,线程与线程之间如何通信??
- Python 进程线程之间通信方式(2,共享数据实现进程之间通信)
- 在操作系统中,进程之间是如何通信的?
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- Python 进程线程之间通信方式(2.1,共享数据实现进程之间通信)
- 大数据日知录【第五章:分布式协调系统】笔记--如何当选老大?如何加入组织?如何将组织的意愿传递下去
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- 进程之间如何通信
- 进程之间数据通信的方法(一)
- 如何实现Linux进程之间的通信?
- ZMQ 在linux进程 和分布式之间的通信
- 如何:使用匿名管道在本地进程之间进行通信(C#)
- 如何实现两个Sybase Adaptive Server之间的数据通信
- 如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据
- 11.python并发入门(part10 多进程之间实现通信,以及进程之间的数据共享)
- 一篇文章读懂Android组件之间数据传递方法 IPC进程通信方法AIDL介绍
- WM_COPYDATA进行进程之间的数据通信
- andlinux中运行IOL如何抓取路由器之间的通信数据
- 进程之间如何通过消息队列传输大量数据