zoukankan      html  css  js  c++  java
  • 大数据日知录【第六章:分布式通信】进程和进程之间如何通信

    消息交换:

      分布式通信是位于不同机器上进程间通信的粘合剂

      若单纯的以JSON或者XML传递信息的话,太多重复传递Schema的过程,通信效率低。

      序列化的框架传输效率高

    消息队列:

      模式:消息队列模式和Pub-Sub模式

    Kafka:(至少送达一次,可以读取历史的消息)

      消息生产者-->代理服务器<--消息消费者主动去拉去对应主题的消息

      消息存储:划分成小文件存储,使用内存表建索引

      与Zookeeper的联合使用:状态信息,管理信息都放在zookeeper里面,Zookeeper负责维护消费者和Topic以及数据分片之间的关系

    磁盘读写:

      顺序读写和随机读写的速度会相差6000倍,对于随机读写,可以通过预读和迟写的操作(比如有一块内存保留数据)将其变为顺序写,有时,顺序写的速度比内存还要快一些。

    多播协议(将数据通知到网络中多个接收方):

      Gossip协议: 常用的模式:全部通知模型(将一个消息传给所有人,有中途丢失的风险),反熵模型(一传十,十传百,最常用),散步谣言模型(增加传播停止的判断,有可能没有全部更新)

  • 相关阅读:
    白盒测试的特点
    什么是黑盒测试
    黑盒测试优缺点
    单元测试
    孤立的测试策略
    自顶向下的单元测试策略
    自底向上的单元测试策略
    tabbedApliction
    redis的key对应mysql数据表设计
    达内javase_day1笔记
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/5997795.html
Copyright © 2011-2022 走看看