SolrCloud的读写分离

背景

数据库读写分离是一个常见的优化, 可以通过将读和写放在不同的服务器从而提升读的性能. 这篇文章主要说一说SolrCloud的读写分离.

默认的Solr架构

如图, 默认的SolrCloud(NRT)架构有以下特点:

  1. 在写上有三种操作:
    1. Update
    2. Commit(硬提交)
    3. SoftCommit(软提交)
  2. 每种操作在逻辑上都是相同的, 即首先把请求发送到对应Shard, 然后Shard先把请求交给leader, leader再把请求分发到所有follower.
    对于一个Shard的所有节点而言(包括一个leader和所有follower), Update/Commit/SoftCommit是在所有节点上重复进行的, 比如先执行3个Update请求添加3个文档, 这个时候的过程是leader自己本地索引这3个文档, 然后把3个Update请求转发给follower, follower分别在自己本地索引这3个文档. 然后如果再执行一个硬提交的话, leader会自己本地执行硬提交, 然后把硬提交请求转发给所有follower, follower们都要在自己本地执行硬提交.
    可见, 默认的SolrCloud(NRT)的同一个shard上的所有节点对于写操作都是重复执行的.

因此, 默认的SolrCloud(NRT)架构就会有如下缺点:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值