分布式系统日志同步优化策略研究.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-08-25 发布于北京
  • 举报

(1)pull模型

pull模型,不会对NameNode造成太大的影响,去接收请求,每次最多就是在内存里缓

存一小块的数据,供BackupNode来拉取;如果BackupNode有问题,那么他是不会影响到

NameNode

NameNode主动push给BackupNode,很可能会被BackupNode一些异常的情况给影响,导

致NameNode可能会有不稳定的问题;pull模型,BackupNode一旦异常,大不了就是不发

送请求过来拉取日志,但是对NameNode是没影响的

(2)批量拉取editslog

批量拉取,这个你可以结合具体的情况,比如说我们这里设定的是每次批量拉取10条数据,

但是你也可以搞的大一些,每次批量拉取20条,30条,可配置化的,就可以提升editslog

同步的性能

(3)缓存机制

每次NameNode端都会在内存里缓存一块数据,要么是内存缓冲里的数据,要么是某个磁

盘文件的数据,每个磁盘文件也就25kb,所以最多就是缓存25kb的数据。大部分的拉取,

都是直接从缓存里走

不用频繁的磁盘文件,也不用频繁的申请锁去内存缓冲的数据

(4)低成本解决并发问题

大部分的请求都是走内存缓存,避免去竞争锁拉取内存缓冲的数据;对于ArrayList写

文档评论(0)

1亿VIP精品文档

相关文档