What is SolrCloud? (And how does it compare to master-slave?)

Screenshot_2026-11-03-16-23-09-34.jpg 立即下载

What is SolrCloud?

(And how does it compare to master-slave?)

SolrCloud is a set of new features and functionality added in Solr 4.0 to enable a new way of creating durable, highly available Solr clusters with commodity hardware. While similar in many ways to master-slave, SolrCloud automates a lot of the manual labor required in master-slave through using ZooKeeper nodes to monitor the state of the cluster as well as additional Solr features that understand how to interact with other machines in their Solr cluster. 

In short, where master-slave requires manual effort to change the role of a node in a given cluster and to add new nodes to a cluster, SolrCloud aims to automate a lot of that work and allow seamless addition of new nodes to a cluster and to work around downed nodes with minimal oversight.

What does a SolrCloud look like compared to master-slave?

On the surface, the primary difference between SolrCloud and master-slave is the additional requirement of at least three ZooKeeper (ZK) nodes. Effectively, this means the minimum size of a SolrCloud cluster is larger than for master-slave, but the ZK nodes do not need to be particularly powerful. As their only role is to monitor and maintain the state of nodes in the SolrCloud, latency is more important than computing power so the ZooKeeper nodes can be fairly minimal machines, so long as they are dedicated to the purpose.

Screen_Shot_2013-10-30_at_16.24.01_.png

Why would I need SolrCloud or master-slave at all?

SolrCloud and master-slave both address four particular issues:

  • Sharding
  • Near Real Time (NRT) search and incremental indexing
  • Query distribution and load balancing
  • High Availability (HA)

What is sharding?

Sharding is the act of splitting a single Solr index across multiple machines, also known as shards or slices in Solr terminology. Sharding is most often needed because an index has grown too large to fit on a single server. A given shard can contain multiple physical/virtual servers, meaning that all the machines/replicas on that shard contain the same index data and serve queries for that data. 

Through sharding, you can split your index across multiple machines and continue to grow without running into problems. More information can be found here: http://docs.lucidworks.com/display/solr/Shards+and+Indexing+Data+in+SolrCloud

Near Real Time search and incremental indexing:

Master-slave operates with every shard having a single master which takes care of all indexing. All other nodes in the shard are slaves, and upon entering the shard are given the current state of the index using SolrReplication (http://wiki.apache.org/solr/SolrReplication). Once a slave has been replicated, the slave's pollInterval determines how often it will contact the shard master to receive index updates.

SolrCloud similarly has a leader in every shard but the leader is largely the same as any other replica, both indexing documents and serving queries. The only additional responsibility of the leader is to distribute documents to be indexed to all other replicas in the shard, and to then report that all replicas have confirmed receiving a given document. Any document sent into SolrCloud is re-routed to the leader of the appropriate shard, who then performs this responsibility. When a replica receives a document, it adds the document to its transaction log and it will send a response to the leader. In this way, updates to SolrCloud indexes are performed in a distributed manner and are durable.

Once a document has been added to the transaction logs, it is available via a RealTimeGet (http://wiki.apache.org/solr/RealTimeGet), but is not available via search until a soft commit or hard commit with openSearcher=true has been executed. A manual soft commit or hard commit will make all documents in the transaction log available for search. One can also use the autoCommit and autoSoftCommit parameters to trigger commits from individual nodes on a regular basis.

Query distribution and load balancing:

In master-slave, querying a single node will only bring you results from that node, which in most cases is equivalent to querying one slice of your data. In order to generate a query for your entire sharded index, you must use a Distributed Search (http://wiki.apache.org/solr/DistributedSearch) to query one node per shard. In the event that one of those nodes is unable to respond, an error will be given and the query will not be fulfilled. This being the case, trying to load balance queries across a master-slave cluster can be problematic. Master-slave also does not provide any load balancing, and thus requires an external load balancer.

With SolrCloud, distributed searching is handled automatically by the nodes in the cloud: querying any node will cause that node to send the query out to one node in all other shards, returning a response only when it has aggregated the results from all shards. Furthermore, ZooKeeper and all replicas are aware of any non-responding nodes, and therefore won't direct queries to nodes that are considered dead. In the event that a downed node has not yet been detected by ZK and is sent a query, the querying node will report the node as down to ZK, and resend the query to another node. In this way, queries to a SolrCloud are quite durable and will almost never be interrupted by a downed node.

SolrCloud can handle its own load balancing if you use a smart client such as Solrj (http://wiki.apache.org/solr/Solrj). Solrj will use a simple round robin load balancer, distributing queries evenly to all nodes in SolrCloud. Furthermore, Solrj is ZooKeeper aware and thus will never send a query to a node that is known as down.

High Availability:

In the event of a downed master in a master-slave cluster, the shard can continue to serve queries, but will no longer be able to index until a new master is instated. The process of promoting a slave to a master is manual, though it can be scripted. Any updates to the master's index since the last replication are lost, and those documents will have to be resubmitted. When a slave disconnects from the cluster and then rejoins, it will automatically retrieve any missed updates/index segments from the master before it is considered ready to serve queries.

In SolrCloud, when ZooKeeper detects a leader has gone down, it will initiate the leader election process instantaneously, selecting a new leader to begin distributing documents again. Since the transaction log ensures that all nodes in the shard are in sync, all updates are durable and never lost when a leader goes down. Similar to master-slave, when a replica rejoins the cluster it simply replays the transaction log to bring itself up to date with other machines in the shard. In some cases if a replica has missed too many updates, it will perform a standard replication as well as replaying the transaction log before serving queries.

Both SolrCloud and master-slave take advantage of SolrReplication, but SolrCloud automatically handles rerouting and recovery when any node in the cluster goes down, whereas master-slave requires some manual work in the event a master becomes unresponsive. As a result, turning a master-slave cluster into a HA solution requires a fair amount of work in scripting and case checking, to ensure no documents are lost and that queries are accurate. By contrast, SolrCloud will never lose updates and will automatically route around any unresponsive nodes. 

See also: https://support.lucidworks.com/entries/22180608-Solr-HA-DR-overview-3-x-and-4-0-SolrCloud-

研发流程后端开发工具,提示功能开发效率 后端开发工具 立即下载

相关推荐

好的,技术转移行业资深专家为您撰写如下。.docx

好的,技术转移行业资深专家为您撰写如下。

Golang基础面试题汇总

channel、goroutine、slice、map、反射、内存、GC、Musql、Redis、ELK、K8s、Http、Https

weixin_41760738的博客 5697

政府科技管理者在推动科技成果转化时,如何高效解决技术成果与产业需求之间的匹配难题?.docx

政府科技管理者在推动科技成果转化时,如何高效解决技术成果与产业需求之间的匹配难题?

双向全桥CLLC谐振变换器仿真模型(Simulink仿真实现)

内容概要:本文档详细介绍了一套基于Simulink的双向全桥CLLC谐振变换器仿真模型,涵盖变频控制、开环与闭环软启动、系统建模、参数设计及实际应用场景(如V2G电动汽车充放电系统)。文档系统梳理了包括LLC、DAB、PFC、Buck-Boost等在内的多种电力电子拓扑结构的建模与控制策略,并提供了完整的仿真模型、Mathcad计算书、设计报告及参考文献,构建了一个面向科研与工程实践的综合性技术资源库。重点聚焦于谐振变换器的闭环控制策略、软开关实现机制、谐振参数优化设计以及系统动态性能分析,尤其突出了在变频控制和混合调制策略下的系统稳定性与效率优化,具有较高的科研参考价值与工程实用意义。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,正在从事新能源变换技术、电动汽车充电系统、储能能量管理或电力系统仿真的研究生、科研人员及一线工程技术人员。; 使用场景及目标:①开展双向CLLC谐振变换器的变频控制与软启动策略研究;②构建V2G系统中AC/DC与DC/DC级联变换器的联合仿真平台;③完成谐振参数设计、闭环控制器调试与系统效率优化;④作为学位论文、科研项目或产品预研阶段的技术支撑与仿真验证工具。; 阅读建议:建议结合文中提供的Mathcad计算书、Simulink仿真模型与参考文献进行系统性学习,重点关注控制环路设计、谐振腔参数匹配与仿真调试技巧,推荐按照资源目录顺序循序渐进地学习,充分利用配套资料提升建模效率与科研深度。

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度.docx

科技中介服务机构如何提升客户在技术评估与需求匹配环节的服务效率与专业度

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并未涉及该主题的具体技术细节或仿真建模过程。相反,文档实质是一份由科研服务团队发布的跨学科资源目录,集中展示了大量基于Matlab、Simulink、Python、PSCAD等平台实现的科研项目与算法开发案例,涵盖电力系统、无人机路径规划、微电网优化、状态估计、信号处理、车间调度、图像处理、通信技术、雷达追踪、智能优化算法等多个工程技术领域。每个条目以“【】”标注研究主题,并注明“Matlab代码实现”“Python代码实现”等形式,表明其为可提供技术支持与代码资源的服务项目。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,明确体现出其作为科研辅助服务推广与引流工具的功能属性。; 适合人群:面向电气工程、自动化、控制科学与工程、计算机科学、智能制造、新能源、航空航天、通信工程及相关交叉学科的研究生、高校教师、科研人员及企业研发工程师。; 使用场景及目标:①为科研人员提供课题选题、技术路线设计与算法实现的参考范例;②辅助学生或研究人员完成课程设计、毕业论文、项目仿真与算法复现任务;③作为第三方技术服务团队的能力展示目录,便于潜在客户快速了解其在多领域提供的定制化仿真与算法开发服务范围。; 阅读建议:此文档并非传统意义上的学术论文或技术教程,而是一份高度碎片化、广告性质浓厚的资源索引清单。读者应忽略其误导性的文件名,将其视为一个综合性科研技术服务目录,重点关注自身研究方向相关的条目,并通过文末提供的公众号或网盘链接进一步获取具体代码与资料。同时,需注意甄别资源的技术质量、原创性与适用性,避免盲目依赖外部服务。

车辆控制基于H∞控制器与鲁棒线性二次调节器RLQR的铰接式重型车辆的稳健路径跟踪控制研究(Matlab代码实现)

内容概要:本文介绍了基于Plecs平台构建的全桥LLC谐振变换器仿真模型,重点围绕隔离型全桥LLC谐振变换器的建模、参数设计与仿真分析展开,涵盖系统主电路结构、谐振腔参数计算、软开关实现原理及闭环控制策略等内容。通过该仿真模型,能够深入研究LLC变换器在不同负载与输入条件下的效率特性、电压增益特性和动态响应性能,尤其适用于高频高效电源系统的开发与优化,为理论分析与工程实践提供有力支撑。; 适合人群:电力电子、电气工程及相关专业的高校师生、研究人员以及从事开关电源、高频电源设计的工程技术人员。; 使用场景及目标:①用于高校教学中演示LLC谐振变换器的工作原理与设计流程,提升学生对谐振拓扑的理解;②支持科研工作中对LLC变换器拓扑结构的性能验证、控制策略优化与效率提升研究;③辅助企业在高频电源产品研发中进行关键技术攻关与参数优化。; 阅读建议:建议结合经典电力电子教材与LLC变换器专项设计指南进行学习,仿真过程中应重点关注谐振频率匹配、ZVS/ZCS软开关实现条件、环流损耗与磁性元件设计,建议通过动手调整谐振参数与开关频率以深入掌握系统动态特性。

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

内容概要:本文档围绕《基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)》展开,系统介绍了多相交错LLC谐振变换器的建模、变频控制策略设计及闭环系统仿真验证全过程。内容涵盖主电路结构设计、谐振参数计算、软开关实现机制、多相交错技术降低电流纹波的原理,以及基于Simulink的闭环控制系统搭建,重点突出频率调制(PFM)在实现高效能量转换与输出电压稳定调节中的作用。文档配套提供完整的仿真模型、设计报告与计算书,便于读者复现与深入理解,适用于高效率、低电磁干扰的直流电源系统研发。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,熟悉Simulink仿真环境,正在从事新能源、电动汽车、储能系统或高频开关电源方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入掌握多相交错LLC谐振变换器的工作原理与变频控制技术;②学习并实践闭环控制系统的建模与调试方法,提升系统动态响应与稳定性;③支撑科研课题、学位论文或工业项目中对高性能DC-DC变换器的设计需求。; 阅读建议:建议结合所提供的Simulink仿真文件与设计计算书同步学习,重点关注变频控制环路的设计逻辑与关键参数的匹配关系,通过调整仿真参数观察系统动态行为,深化对谐振变换器软开关特性与负载适应能力的理解,并可进一步对比研究CLLC、DAB等先进拓扑以拓展技术视野。

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

基于LSTM神经网络的风电功率预测研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并未包含与Plecs或全桥LLC谐振变换器相关的具体仿真模型,而是汇集了大量来自优快云博客平台的技术文章标题和片段,内容涉及基于MATLAB的电力系统动态分析、风储VSG系统仿真、多无人机路径规划、最优潮流计算、卡尔曼滤波状态估计、车间调度算法、无线电力传输、抽水蓄能电站调度等多个领域。这些内容主要围绕Matlab/Simulink或Python代码实现展开,覆盖电力电子、电力系统、自动化控制、优化算法、信号处理、深度学习等方向,具有较强的科研仿真属性。然而,文档整体缺乏统一主题与逻辑结构,信息呈现高度碎片化,更像是多个独立技术资源的罗列而非系统性论述。; 适合人群:适用于从事电力系统、电力电子、自动化控制、智能制造、人工智能、信号处理及相关交叉学科的研究生、高校科研人员及企业研发工程师。; 使用场景及目标:①作为科研选题与技术调研的灵感来源,快速掌握当前热门研究方向与方法论;②获取多种仿真模型的设计思路与实现框架,辅助完成课程设计、学位论文或科研项目的建模仿真任务;③结合文中提及的算法(如PSO、NSGA-II、EKF、CNN、LSTM等)与工具(如Matlab/Simulink、PSCAD等),开展系统性学习与二次开发。; 阅读建议:此文档内容杂乱无章,不具备连贯阅读价值,建议仅将其作为索引线索,从中提取感兴趣的主题后,进一步查找原始完整文献或配套代码资源进行深入研究,避免陷入无效信息泛滥的困境。

国央企创新负责人如何优化科技成果转化流程的合规性与透明度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

产业园区运营负责人如何精准匹配企业与高校科研资源?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

全桥LLC谐振变化器参数设计资料(闭环仿真+参数设计报告)

内容概要:本文档系统性地整理了全桥LLC谐振变换器的参数设计与闭环仿真技术资料,涵盖变频控制、移相混合控制等多种控制策略,提供了完整的Simulink仿真模型、详细的设计报告及Mathcad计算书,深入涉及软启动过程、恒压恒流双闭环控制等关键技术环节。资料进一步拓展至V2G电动汽车充放电、多相交错LLC、双向CLLC等前沿应用场景,并配套PPT说明与计算工具,构建了一个集理论分析、仿真验证与工程应用于一体的综合性教学与科研支持体系; 适合人群:电力电子、电气工程及其自动化等相关专业的硕士博士研究生、科研人员,以及从事高频电源、新能源发电、电动汽车充电系统开发的工程技术人员; 使用场景及目标:①掌握全桥LLC谐振变换器的小信号建模与关键参数(如谐振频率、增益特性、磁性元件)的设计方法;②学习并实现PI控制器、变频调制(PFM)等闭环控制策略在Simulink中的搭建与调试;③应用于新能源汽车车载充电机(OBC)、充电桩电源模块、储能系统DC-DC变换器等高频高效电源的研发与科研项目复现; 阅读建议:建议结合所提供的仿真模型、设计报告与Mathcad计算书同步学习,重点理解谐振腔参数匹配原则、频率控制与移相控制的协同机制、闭环稳定性分析方法,并通过仿真反复验证理论计算结果,全面提升从理论设计到系统实现的综合能力。

LLC谐振变换器开环+闭环软启动仿真设计(Simulink仿真实现)

内容概要:本文系统介绍了LLC谐振变换器的开环与闭环软启动仿真设计方法,基于Simulink平台实现,涵盖半桥、全桥等多种拓扑结构的建模与仿真。重点阐述了软启动过程中的控制策略,包括变频控制、移相混合控制、恒压恒流双闭环控制等核心技术,深入分析了从开环启动平稳过渡到闭环控制的切换机制。文中提供了完整的仿真模型、设计报告、参数计算书及参考文献等配套资料,有助于读者全面掌握LLC谐振变换器的工作原理、动态响应特性及其在高频高效DC-DC变换场景中的应用,适用于电力电子系统的设计与优化研究。; 适合人群:具备电力电子与电力系统基础知识,从事电源设计、新能源变换器研发、电力电子器件应用或相关领域研究的研究生、工程师及科研人员。; 使用场景及目标:①掌握LLC谐振变换器软启动过程的控制机制与Simulink建模方法;②学习开环启动至闭环控制的平滑切换策略与实现方式;③开展高频高效DC-DC变换器的性能优化与动态响应分析;④支撑毕业设计、科研项目开发或高水平学术论文的复现与创新研究。; 阅读建议:建议结合所提供的Simulink仿真模型与参数计算文档同步操作,逐步调试关键参数,重点关注软启动过程中电压电流冲击的抑制效果,对比不同控制策略下的系统动态性能差异,深入理解谐振变换器的控制逻辑与稳定性设计要点。

ArduSub深度调参指南:如何让水下机器人像鱼一样稳定游动

本文深入探讨了ArduSub水下机器人的深度调参策略,旨在解决ROV在水下晃动、响应迟钝等问题。文章系统解析了级联PID控制逻辑,并针对静水与水流环境,提供了具体的深度保持与姿态控制调参方法、实战日志分析技巧以及异常振荡处理方案,帮助用户实现水下机器人稳定、流畅的游动性能。

CAT789的专栏 372
上一篇: MySQL时间戳格式化函数FROM_UNIXTIME介绍
下一篇: Lua(一)
desmond_assis
博客等级 码龄14年 33粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值