杂谈之SolrCloud这个坑货

看《Solr In Action》时候看到对Solr不足的介绍有这么一段话:“One final limitation of Solr worth mentioning is its elastic scalability: the ability to automatically add and remove servers and redistribute content to handle load. While Solr scales well across servers, it doesn’t yet elastically scale by itself in a fully auto- matic way.  ”于是不由得想到公司里部署的SolrCloud的一些问题。

1. SolrCloud的扩容问题,Solr对于集群的扩展上具有明显的劣势,无法做到动态的扩容以及数据的负载均衡。本人的公司是卖服务器的,比如之前卖了一台规格为5亿数据量的服务器,客户使用了一段时间发现数据量超过了5亿,那么它就会再买一台并和前面的那台组成集群。这个时候就涉及到扩容的问题,如何从单台变为集群,如何将一台5亿数据均衡到每台2.5亿上,如何保证扩容的时候服务器仍然进行在线的索引以及查询操作。这简直已经困扰了我半年了,一直都没有有效的策略,这是SolrCloud的短板,但是也是每一个使用Solr的必须去解决的。据说ElasticSearch在这方面做的很出色,接下来得学习下ElasticSearch以取取经。希望很快能找到解决措施再来这里接着写。

2. SolrCloud是依赖zookeeper的,我在对SolrCloud进行容灾和压力测试中,尝会出现SolrCloud的死机,或者shard要么recovery 失败要么就是一直在recovery,初步估计是根zookeeper通信有关(当然这跟我们对zookeeper的使用有关,我们的服务器同时运行solr和zookeeper,没办法谁叫我们是卖服务器的,能省则省),SolrCloud的容灾性能没有他说的那么好,最近有10台以上的集群需求,得充分把集群搞稳定了,甚是担忧。

3.  书上说,集群跟单机的查询性能比是如下,大多数情况是没错,但是Aggregation Overhead这部分的性能还是会很影响集群的查询的,比如极端的情况翻页+排序查询。(Query Speed on N+1 indexes) = Aggregation Overhead + (Query Speed on N indexes)/(N+1)

杂谈之SolrCloud这个坑货的更多相关文章

  1. sql转db,后台坑货

    打开 创建一个db文件然后点击文件--新建---Sqlite 导入空db成功后点击左侧栏 点击表 点击右上角+号把sql文件的语句复制粘贴到 然后点击运行,运行完成后保存ok

  2. tf.metrics.accuracy ==>坑货

    tf.metrics.accuracy输出两个值,第一个值为上几步的平均精度,第二值是上几步与该步的精度的平均值. 正常的计算单个batch正确率的代码 self.correct_prediction ...

  3. Android填坑系列:在小米系列等机型上放开定位权限后的定位请求弹框

    背景: 近期因实际项目需要,在特定操作下触发定位请求,取到用户位置及附近位置. 问题: 经初步选型,最终决定接入百度定位,按照百度定位SDK Android文档,接入过程相对顺利.但随后发现,在小米系 ...

  4. linux上安装redis的踩坑过程

    redis用处很广泛,我不再啰嗦了,我按照网上教程想在linux上安装下,开始了踩坑过程,网上买了一个linux centos7.3,滴滴云的,巨坑无比啊,不建议大家用这家的! redis 为4.0, ...

  5. PHP生成PDF并转换成图片爬过的坑

    需求描述:根据订单通过模板合同生成新的PDF合同通过e签宝签约后转为图片给用户下载. 需求整理: 1.如何生成PDF文件:使用TCPDF扩展生成.思考: ⑴为了方便将模板中的固定占位符替换为订单中的内 ...

  6. golang map 读写锁与深度拷贝的坑

    0X01 golang中,map(字典)无法并发读写 简单来说,新建万条线程对同一个map又读又写,会报错. 为此,最好加锁,其实性能影响并不明显. type taskCache struct{ sy ...

  7. YII配置rabbitMQ时前期工作各种坑

    背景如下: 项目需要做一个订阅/发布的功能,然后一大堆讨论不做说明,确认使用rabbitMQ来做: okay,既然 要这个来做,我们下载这个东西吧!在官网上下载就okay了,不做说明,下载安装的时候会 ...

  8. React+Antd遇到的坑

    第一次尝试React+antd,发现果然不愧是传说中的坑货,一个又一个坑.必须要记录. react + antd,都是最新版本,使用npm和yarn各种add,build,start 1. 资源文件, ...

  9. 略坑的C#自动回收机制

    说起这个坑货,要说说折腾了好久的bug,项目对方需要在32位系统上使用,C#加载图像扔给C++处理再返回.所以想好了,C#这边加载图像开好内存扔给C++,各自开的内存各自释放. 所以,在32位系统上出 ...

随机推荐

  1. L - Subway - POJ 2502

    题意:在一个城市里,分布着若干条地铁线路,每条地铁线路有若干个站点,所有地铁的速度均为40km/h.现在你知道了出发地和终点的坐标,以及这些地铁 线路每个站点的坐标,你的步行速度为10km/h,且你到 ...

  2. hdoj 1728 逃离迷宫

    逃离迷宫 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. Linux(SLES)挂载NTFS移动硬盘实践

    问题描写叙述: 因为通过測试环境导出的dmp过大,但要求尽快导入至生产server,请网络室打通防火墙后发现測试网络为100M而生产网络贵为1000M却无法发挥不论什么作用即使通过networklin ...

  4. DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  5. MYSQL 体系结构图-LRU

  6. xcode中的第三方库配置问题总结

    xcode中的第三方库配置总结 在导入第三方库的时候,总是会遇到许多的问题.在这里,我记录一下学到的一些知识点.写得比较乱.只要是想要记录下来,在第三方库导入的时候,遇到的一些问题. 参考网址: ht ...

  7. 通过GitHub Pages建立个人站点(详细步骤)

    1 Git简介 2 为什么使用Github Pages 3 创建Github Pages 3.1 安装git工具. 3.2 两种pages模式 3.3 创建步骤 3.4 常用命令 4 使用Jekyll ...

  8. python 之路,Day11(上) - python mysql and ORM

    python 之路,Day11 - python mysql and ORM   本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 ...

  9. FineUI开发实践-目录

    点我订阅 目前所有博客的截图,方便离线观看,点图片 FineUI初学手册 下载,实例项目搭建 FineUI初学手册-部分JS整理 部分JS整理 ASP.NET-FineUI开发实践-1 实际开发环境是 ...

  10. Ext4.1 grid 多选(可无checkbox)

    转载 在Ext4.1中的grid默认只能实现单选的. 如果你想要你的grid有多选功能,需要给grid增加selModel 如果你使用了Ext.create('Ext.selection.Checkb ...