RPC
protocol buffer
thrift
avro
消息队列
kafka
采用消息订阅与发布
1.每种消息类型(topic)对应一个队列,根据业务类型,进行topic划分。
2.topic支持数据分片(用于支持多进程进行同一工作?)。
3.内存仅保存索引,索引指向外存,数据分片实际存储在外存中。由于外存存储可靠,根据往前查阅数据分片即可保证所有操作均至少完成一次
4.消息队列管理信息存储在zookeeper中,使得代理服务器完全无状态,可插拔。
5.写操作仅在完成k个副本的写后(主副本还有一次,总共k+1),才会认为写成功,使得系统仅需k+1个副本可保证最多可损坏k个副本.其他副本不需要保证同步
6.通过log日志,使得一次在磁盘上顺序读写大量数据,以提高读写速度
应用层多播
gossip协议
全部通知(泛洪)
反熵模型
谣言散布模型
cassandra集群管理
交换信息模式:
A->B: 摘要信息
B比对其中A比B新的与B比A新的
B->A: B比A新的详细信息与要求A发送给B的信息摘要
A->B:发送给B详细信息
本质是pull-push模式
数据通道
log数据收集
应用程序作为thrift的客户端与scribe-log收集器通信
数据总线
数据总线解决问题
1.实时性
2.数据回溯能力
3.主题订阅
实现方式:双写,数据库日志挖掘(主流)
中继器+bootstrap
中继器类似于cache,快速出路,bootstrap作为硬盘存储历史数据
对于慢设备与新加入的设备,与bootstrap通信,获取历史数据,当设备处理完历史数据后,就可以转而与中继器通信,以获得更新的数据和更快的速度