2.2.1. Lucene
In this mode, all index update operations applied on a given node (JVM) will be executed to the Lucene directories (through the directory providers) by the same node. This mode is typically used in non clustered environment or in clustered environments where the directory store is shared.
This mode targets non clustered applications, or clustered applications where the Directory is taking care of the locking strategy.
The main advantage is simplicity and immediate visibility of the changes in Lucene queries (a requirement is some applications).
此模式适用于非集群应用程序,或者集群化的应用程序处理了共享索引文件的文件锁策略。此实现方式主要的优势是简单,可以立即在集群的任何服务器的Lucene搜索请求中见到被索引的内容
2.2.2. JMS
All index update operations applied on a given node are sent to a JMS queue. A unique reader will then process the queue and update the master Lucene index. The master index is then replicated on a regular basis to the slave copies. This is known as the master / slaves pattern. The master is the sole responsible for updating the Lucene index. The slaves can accept read as well as write operations. However, they only process the read operation on their local index copy and delegate the update operations to the master.
This mode targets clustered environments where throughput is critical, and index update delays are affordable. Reliability is ensured by the JMS provider and by having the slaves working on a local copy of the index.
所有在各个应用服务器节点索引的更新操作都被发送到JMS队列。一个唯一的阅读器将处理这个队列,更新这个lucene索引。接下来主索引将被拷贝到从索引中。就是所谓的主从模式。主索引服务器是唯一负责更新Lucene索引的。从夫妇其可以接收读和写操作。可是他们值处理读操作在它们的本地索引拷贝,并且代理更新操作到主服务器。
Note
Hibernate Search is an extensible architecture. While not yet part of the public API, plugging a third party back end is possible. Feel free to drop ideas to hibernate-dev@lists.jboss.org.
支持同步异步索引策略,但是建议先使用同步策略,当同步出现性能问题时,使用异步策略,但是要proper benchmark(
not a lonely cowboy hitting the system in a completely unrealistic way)需要模拟一个真实的环境来考察。
看到这里,感觉hibernate的lucene还是有些诱惑力的。已经解决了前端应用服务器集群的索引问题。但是相对于使用solr这样的独立索引服务器(solr是否支持索引服务器集群?),似乎这个分布式体系需要重新考虑了。
还是功能划分,索引服务交给独立的索引服务器,前端的应用服务器需要时可以调用索引服务器的内容。
如何合理的实现一个大型系统,是让每一台服务器成为全能型选手,还是分别成为某一方面的专家?参考人类社会,服务器分工应该是最终的解决方式吧.
http://www.hibernate.org/hib_docs/search/reference/en/html_single/#d0e403
分享到:
相关推荐
赠送jar包:javax.servlet-3.0.0.v201112011016.jar; 赠送原API文档:javax.servlet-3.0.0.v201112011016-javadoc.jar; 赠送源代码:javax.servlet-3.0.0.v201112011016-sources.jar; 赠送Maven依赖信息文件:...
赠送jar包:javax.servlet-3.0.0.v201112011016.jar; 赠送原API文档:javax.servlet-3.0.0.v201112011016-javadoc.jar; 赠送源代码:javax.servlet-3.0.0.v201112011016-sources.jar; 赠送Maven依赖信息文件:...
在这个场景中,我们关注的是Redis的集群搭建,涉及到的文件是"redis-3.0.0.tar"和"redis-3.0.0.gem"。这两个文件分别对应Redis服务本身和通过Ruby来创建Redis集群的工具。 首先,`redis-3.0.0.tar`是一个源代码...
org.springframework.aop-3.0.0.RELEASE org.springframework.asm-3.0.0.RELEASE org.springframework.aspects-3.0.0.RELEASE org.springframework.beans-3.0.0.RELEASE org.springframework.context.support-3.0.0....
二、`jquery-3.0.0.min.js`的优化 1. 文件大小:`.min.js`是经过压缩和混淆后的版本,文件大小显著减小,有利于提高页面加载速度,降低用户等待时间。 2. 代码优化:通过删除注释、合并变量、缩短函数名等手段,`....
jquery-migrate-3.0.0.min.js 含源码 包含以下文件: jquery-migrate-3.0.0.min.js jquery-migrate-3.0.0.js // 这个是源码哦 截至2017.11.21, jQuery3.x 最新最稳定版本
jboss-logging-3.0.0.GA.jar
标题中的"redis-3.0.0.gem"是一个软件包文件,它是Redis数据库系统的一个特定版本,这里指的是3.0.0版本。Redis是一种开源的、基于键值对的数据存储系统,常用于缓存、消息队列以及数据结构服务器等场景。其特点是...
《深入理解Hibernate Validator 3.1.0.GA:附带源码与实战解析》 Hibernate Validator 是一个基于 Bean Validation 规范的实现,它为Java应用提供了强大的数据验证功能。在3.1.0.GA版本中,该框架不仅包含了完整的...
STM32H7xx_DFP.3.0.0.zip是一个针对STM32H7系列微控制器的开发包,由Keil公司提供。这个压缩包是专为开发者设计的,目的是为了简化基于STM32H7芯片的软件开发流程。在深入探讨这个开发包之前,我们先了解一下STM32H7...
aopalliance-1.0.jar,org.springframework.aop-3.0.0.RELEASE.jar,org.springframework.jdbc-3.0.0.RELEASEorg.springframework.beans-3.0.0.RELEASE.jar等
javax.servlet-3.0.0.v201112011016-sources.jar
redis-3.0.0.gem 执行gem install redis /usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError) from /usr/local/lib/ruby/2.3.0/...
NHibernate-3.0.0.GA-NHibernateAPI.chm
**USBIPD-Win 3.0.0.msi** 是USBIPD-Win项目的安装程序包,以Microsoft Installer (MSI) 格式提供。这个安装文件确保用户能够简单快捷地在Windows系统上部署USBIPD,以便在WSL2环境中使用USB设备。用户只需下载此 `....
这个压缩包“redis-3.0.0&redis-3.0.0.gem.zip”包含了Redis服务器的源码包(redis-3.0.0.tar.gz)以及一个与Ruby相关的库(redis-3.0.0.gem),后者是用于在Ruby环境中构建Redis集群所必需的。 1. Redis 3.0.0 ...
当当elastic-job控制台jar包,elastic-job-lite-console-3.0.0.M1-SNAPSHOT,本人从git下载源码后编译生成的jar。 $ 解压 elastic-job-lite-console-3.0.0.M1-SNAPSHOT.rar $ cd elastic-job-lite-console-3.0.0.M1-...
jQuery-Migrate 是一个过渡插件让你在原来代码上升级 jQuery 不用修改代码。cdn:https://code.jquery.com/jquery-migrate-3.0.0.min.js
springboot 打war部署到apache-tomcat-7.0.69中启动报错:java.lang.NoClassDefFoundError: javax/el/ELManager ... 下载javax.el-api-3.0.0.jar,放到 tomcat/lib包下可以解决,原来的el-api.jar版本较低