首页 [要略]solr集群与负载平衡技巧在国际科学引文数据库干事系统中的应用研究...

[要略]solr集群与负载平衡技巧在国际科学引文数据库干事系统中的应用研究...

举报
开通vip

[要略]solr集群与负载平衡技巧在国际科学引文数据库干事系统中的应用研究...[要略]solr集群与负载平衡技巧在国际科学引文数据库干事系统中的应用研究... SOLR集群与负载均衡技术在国际科学引文数据库服务系统中的应用研究... 本文由samfu_zju贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 《 现代图书情报技术》 版权所有, 欢迎下载引用~ ,, ,, ( ) , , ( 请注明引用地址: 集群与负载均衡技术在国际科学引文数据库服务系统中的应用研究,, 现代图书情报技术,,, , :,, , 总第 ,,期 ,, , ,,年 第...

[要略]solr集群与负载平衡技巧在国际科学引文数据库干事系统中的应用研究...
[要略]solr集群与负载平衡技巧在国际科学引文数据库干事系统中的应用研究... SOLR集群与负载均衡技术在国际科学引文数据库服务系统中的应用研究... 本文由samfu_zju贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 《 现代图书情报技术》 版权所有, 欢迎下载引用~ ,, ,, ( ) , , ( 请注明引用地址: 集群与负载均衡技术在国际科学引文数据库服务系统中的应用研究,, 现代图书情报技术,,, , :,, , 总第 ,,期 ,, , ,,年 第 ,期 集群与负载均衡技术在国际科学引文数据库 服务系统中的应用研究 , 张建勇, 廖 凤,, 刘小兵, 陶超全, , , , ( 中国科学院国家科学图书馆 北京 ,,, ) ,,, ( 中 ( 北京创想通科技发国科学院研究生院 北京 ,,, ) ,,, 展有限公司 北京 ,,, ) ,,, 【 摘要】从国际科学引文数据库( ,, 面临的负载压力和扩容需求出发, ,, ) 通过对相关技术进行调研分析, 选择当 前常用的开源集群和负载均衡技术构建 ,, ,,服务系统; 对采用的 ,, 服务器负载均衡技术、 ,, , , 技术 , , , ,,, , ,, 及基于 ,,的分布式索引技术进行介绍, , , 并对其性能进行理论分析和实验验证; 测试结果证明 ,, ,,的系统架构 方案具有良好的可扩展性、 可用性和可靠性, 能够较好地满足当前的应用需求。 【 关键词】数据库集群 分布式索引 负载均衡 ,, ,, , , , , , ,,, , , ,, 【 分类号】, , ,, , ,,; , , ,,, ,,,, ,,, ,, , , ,,,, ;, , , ,,,,, ,, ,, , ,, ,, , ; , , , , ,,, , ; , , ,, , , , , ,, ,,, , , , ,, , , , , ; ,,,,, , ,, ,, , ,, , ,, ,, , ,, ; , , , , , , ,, , , ,,, ,,, ,, ,,, ,,,,, , ,,, ,?,, ,, , ,,, , , ,,,, , , , , , ,,,, ,, , ( ,,, ,, ; , , ,, , , ;,, , ; ,,,, ,, ,,, ,, , ) , ,,, ; ,,,, , , ,,, ,, ,, ,, ;, ,, ,,, , , , , ,, , , ,, , , ( , ,, , , , , , ,,, ,, ,, ,, ;, ,, ,,, ,, , ) ,, , , ,, , ,, , , , ;,, , ; ,,,, ,, ,,, , , , ,,, , , ,, , , ( ,, ,,; ,,,, ,, ,, ,,, ,, , ) , ,, ,,,, ( ,( ,, ,,, , , , ,, ,, , 【 ,, ; ,, ,, ,,,,,, , ,,, ,,, ,, , , ,, , , ,, ,, ,,,, ,, ; ,,, , , ,, ,,, , , , ,,,,;,;,,,,, , , , , , , , ,,, ,, ,,,, ; ,,,,, , 】, ,, , , , ?, , , , , ,, ( ,, , , ,,, ,,, , ,,, , ,, , , ,,,,, ; , , , , , , ;,, ;, ,, ; ,, , ,, ,, ) , , ,, ;,,,, ,, ,, ,, , , , , ,, ,,; , , , , ,,,,, , , ,, ( , , , , ; ,, , , , , ,, , , ,, , ,, ,,,,, ; , ,,, , ,, , , , ,, , ,,, ,,, ,,, , ,, , , ,,, , , ,, , , ,, , , , ,, , ;,, ,, , ,,, , , ,, , , ,, , ,, , , , ,, , , , , , , ;,, , , , ,, ; , ,, , , , ; , , , ,, ,,, , , , ,; , , ,; , , ,,,,, , , ,,, ,, ,, ,, , ,,,,, ,,,, , , , , ,,, , ,,, , , ,, ,,, , , ,, , , , ,, , , , ,, , , ,, , , , , (, , ,(, ,, ;, , ,, , ,, ,, , , ,; ,, , ,, , ,,, , ,,, ,, ,, ,, , ,, , , ,,,, ,,,,,, ,, ,,,,, ,,, , ,, , , , ,,, , , , ,, , , ,, , ,; , , ,, , ,, ,,, ,, ,,, , , ,, ,, , ,;,,,, , ,, , , , ;, , , ,, , ,, ,, , , ; , ;, , ,, ;,,, , , ,,, , ,, , ,,,, , , , , , ( , , , ?, , , 【 ,, ,, , ,, , , ,,, , ,,, ,, , ,, , , , ,,,, , , ,,】, , ,,; , , ,, , ,, , , ,,,, ; ,, ,, , , , ,, ,, , , , , , ,, , 引 言 根据当前增长趋势预测, , ,建设的国际科学引文数据库( , ,, ,, ,,,, ,, ; ,,, ,, ) ,, , , ,,, ,, ,,,, ; ,,,,, , ,, 数 , , , , ,, 据规模在 ,, ,,年底将超过 ,亿条, 并以每年 ,,,万条的速度增长 ? 。同时作为面向公众服务的 ,, , ,服务系统, 现实和潜在的访问用户量将是一个较大的数字, 日访问量可能会达到几十万人次。因此当前 ,, ,,服务系统需要 收稿日期: ,,, ,, , ,, , , 收修改稿日期: ,,, ,, , ,, , , 本文系国家科技图书文献中心( , , 基金项目“ ,,) 国际科学引文数据库发布系统” 项目编号:,,, 的研究成果之一。 ( ,,, ) ? 国家科技图书文献中心,,,年 , , ,, , , 工作总结 关于社区教育工作总结关于年中工作总结关于校园安全工作总结关于校园安全工作总结关于意识形态工作总结 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 。 , ,, , , , , ,, , ,, ,, , , , ,,, , ,, , , , 数字图书馆 着重解决以下两方面的问题。 ( ) , 数据扩容: 需要实现一个具备可持续扩充能 力的服务器体系结构, 保证大量数据的有效存储和检 索获取。 ( ) , 负载均衡: 确保在大量用户访问系统时, 不会因 为系统并发能力弱或响应缓慢造成系统易用性降低。 本文主要研究如何利用集群技术和负载均衡技术 搭建一个大规模可扩缩的服务器体系架构, 以解决大 容量数据的存取、 全文检索的效率和高并发访问问题。 针对 ,, ,,系统目前面临的问题, 首先对集群和负 载均衡技术的应用现状进行深入调研和比较分析; 结 合 ,, ,,的应用需求, 选择适合的技术构建可扩缩服务 器体系结构, 并根据应用情景进行方案优化; 在该方案 的指导下部署实现系统; 最后采用标准方法对系统性 能进行测试, 验证设计方案的可用性和可靠性。 本文整合开源的集群和负载均衡技术, 建立了可 扩缩的服务器体系结构, 为面临类似瓶颈问题的系统 提供了参照; 同时在充分考虑现状和需求的情况下对 关键技术进行了优化配置, 帮助提升系统性能。 均衡器接受请求后通过重写头部来指向集群内其他机 器。优点在于服务器之间的联系性和高效性, 缺点是 昂贵并且设置复杂。 ( ) , 服务器自带负载均衡机制, , ,,,的 , , 如 ,;, , , ,, , ,, 应用 , ,等, , 服 ,, , , , , ,,,, , 的 , , ;, ,, 和 ,,, , 、 , ;, , 务器自身具备负载均衡能力, 在一定量的负载程度上 可以达到很好的负载分配。 数据库集群技术使用特定的连接方式, 将价格相 对较低的硬件设备结合起来, 提供高性能的任务处理 , 比较流行的有 能力。基于数据库引擎的集群技术 , ,, ,,, , 、 , ,, , , ,, , ,, ,以及开源 , ,, , , ; ,, , ,、, , , ; , , 的 , , ,,,, 。 ,, , , ,, ( ) , , , , ,, ,, ,采用 了 “ ,, ,, , , ,” ; ,, , ,, , , 的实 , ,, 现模式, 通过 , ,共享和存储设备共享来实现多节点 , 之间的无缝集群, 用户提交的每一项任务被自动分配 给集群中的多台机器执行, 用户不必通过冗余的硬件 来满足高可靠性的要求。 ( ) , ,, , , : , , ; ,, , , 通常情况下, , , 群集中的计算机 能够按照“ 活动 ,活动” 方式共享相同的存储子系统 与功能, 这意味着所有集群计算机( 节点) 均可主动通 过共享负载的方式协同完成工作, 并在某个节点出现 故障时分担它的工作。, , , ,的主要用途是通过自身 提供的容错能力提高应用程序的可用性。 ( ) , , , , ,, ,支持 , , ,,, , , , 以及 ,, , , , , , , 等主 , 流操作系统; 支持各种开发语言和访问接口, 同时具有 , 良好的数据安全性和稳定性。利用 , ,数据分区部 件实现横向扩展, 可以支持多达 ,,,台服务器组成 , 的庞大数据库群集。 ( ) ,, , , 技术允许在无共享的系统中部 , , , ,,, , ,, , , ,, 系统 署内存中数据库的 ,,, 。通过无共享体系结构, 能够使用廉价的硬件, 而且对软硬件无特殊要求。此 外, 每个组件都有自己的内存和磁盘, 不存在单点故障。 在全文检索技术方面, 主要有如下三种解决方案: ,, ,,, ,, , 、 , ,,,以及 ,, , , ; ,, 。 , ( ) , , ,是建立在 , ;, 基础上的开源企业搜 , ,,, , ,,, 索服务器, 它支持通过 , , ,, , 、, ,和 , , , ,的查询获 , , 取结果, 提供了一个与平台无关的接口。,,提供分 组搜索、 复制、 缓存和大规模分布式搜索等特性, 可以 组建各种容量的系统。 , ( ) , , ,,,利用标准 , ,来索引、 , ,, ,,, , ; , 搜索和分 , 相关研究综述 文献服务系统体系结构的核心组件包括 ,, ,服 ,服务器直 务器、 数据库服务器以及搜索服务器。,, 接和用户交互, 是系统访问压力的直接承担者; 数据库 服务器负责结构化数据存储, 扩容效率至关重要; 搜索 服务器完成全文索引和全文检索功能, 搜索任务和索 引文件的有效分发是基本要求。因此, 本文着重调研 了现有的 ,, 服务负载均衡技术, , 数据库集群技术和 全文索引技术及相关产品。 ,, 服务器的负载均衡技术主要是按照一定策略 , , 负 将 ,, 访问负载分配到几台服务器或服务器实例上, 载处理对用户透明, 整体上对外如同一台 ,, 服务器在 , 提供服务。目前比较流行的负载均衡方法分别是: ( ) , 轮循。基本思想是多个内容完全镜像的 ,, , 服务器拥有相同的域名和不同的 , ,地址 ,, , 。因此发 起单个的域名解析请求, 可以返回集群内某台机器的 , ,地址。这种方式廉价、 简单并且容易配置, 但并没有 提供服务器之间的联系和高可靠性能力。 ( ) , 硬件负载均衡器。硬件负载均衡器 ,, , 有一个 ,地址, 映射到集群内的每一个节点上, 负载 单独的 , , 现代图书情报技术 , 总第 ,,期 ,, , ,,年 第 ,期 析存储在 ,,, 数据库、 , , ; 文件和 ,, ,上的文本。,,, , , ; ,, 可以对文档执行语言分析, ,, 使用各种策略搜索文 本, 用各种格式显示搜索结果。,,, ,, , ,,, 支持多种语 ; 言并使用高级的相关度排序技术来提高搜索质量。 ( ) ,, 是由 , ,, ,,,,开发的一个全 , ,, , , ,, ,, ,,, , 文检索引擎, 旨在为其他应用提供高速、 低空间占用、 高结果相关度的全文搜索功能。,, , ,, 可以非常容易 , 地与 , ,数 据 库 和 脚 本 语 言 集 成。当 前 系 统 内 置 , , , ,和 ,, , , ,, ,, , ,数据库数据源的支持, ,, 也支持从 标准输入读取特定格式的 , ,数据。 , ,, , ,, 可扩缩的系统体系结构, 主要包括基于 , , ,数据管 理系统、 全文索引引擎 , ;, 和 ,, ,,, ,服务器 ,, , , ;, , 并在充分论证和验证的基础上认为数据的存取效率取 决于系统各个部分的效率, 只有任何一部分不形成瓶 颈问题, 才可能全面提高系统的性能。基于此, 在系统 扩展时全面采用可扩缩的系统结构来构建新的 ,, ,, 服务系统, 首先是可扩充的 ,, ,服务器, 其次是可扩 充的搜索引擎和可扩充的数据库系统。,, ,集群技术 与负载均衡技术选择开源的 ,, , 负载均衡方案, , ;, 重 点解决大量请求的负载均衡; 分布式索引采用 , 擎 技 术, 理 日 益 庞 大 的 ,分 , , ,,,全 布式搜索 引 , ;, 文 索 管 引; 数据库管理系统选择 , , ,,,, 数据库集群方 ,, , , ,, 案, 扩展数据库的存取能力。,, ,,的服务器体系结构 如图 ,所示: , ,,可扩缩体系结构 , , ,, ( 需求分析与技术方案构建 ,, ,,在搭建服务器体系结构时, 一方面必须充分 考虑当前及潜在的应用需求, 另一方面也需考虑成本 效应, 尽量选用开源技术。由于负载情况还没有达到 足够大, 利用服务器自带的负载均衡模块就可以实现 很好的负载分配, 而且服务器在 , ,台以下时速度也足 够快, 因此 ,, 服务器的负载均衡方案选用 ,, ,自 , , ;, 带的 , , ;, , ,, 应用。 , ,, ,,系统对数据库系统的要求一方面是在并发 响应上要足够稳定, 另一方面是能支持在大数据量上 扩充。开源的 , , ,,,, 可以很好地满足上述要 ,, , , ,, 求, 尽管 ,,,等商用集群方案在数据的处理能力和 , , ; 容量上都优于开源的 , , , 但是对单台服务器的硬 ,, , , , ,对单台服 件要求高, 维护成本也高。相对来说, ,, 务器的硬件要求很低, 而且对于几乎是只读系统来说, 效率并不亚于 ,,, , , ; 。此外, ,, , , ,单台容量的逐步 扩充也比较符合 ,, ,,现在数据增长的速度。 搜索引擎的选择要点是结构化文本信息的全文检 索能力和索引速度。根据实际测算, 索引速度最快的 引擎首先是基于 , ;, 的 ,, 其次是 ,, ,然后是 ,,, , , , ,, , , ,,, ,, , ,,, ; 。鉴于 ,,, 单机维护成本高并且不是开 , , ; 放系统, 本文重点 评估了 ,,和 ,, , , , ,, 的检 索能力, , ,, ,,要求的最大检索结果集合是 , ,万量级, 并在此 基础上要求能分组和排序, 但是 ,, , ,, 无法一次返回 , 如此大的数据集合。另外从搜索引擎的使用广泛程度 来说, ,,, , ;, 有更多的使用者, 稳定性和今后的扩展性 更值得信赖, 因此搜索方案选择 ,, ,。 , 根据上述分析, ,,系统全面采用开源技术搭建 ,, 图 , ,,分散式服务器体系结构 ,, ,, ( 基于 ,,, ,的 , ,;, ,, , , 负载均衡技术 不论是负载均衡能力还是容错能力的需求, 都使 得 ,, 服务器集群和负载均衡技术的应用成为必要。 , ,, ,,选择使用 ,, , ,自带的 , , ;, ,, , ; , ;, , ,, ,, ,,, , , ,,, 来重定向 ,, 请求到集群内各节点。该 ,, 应 , ,, , , , 用需要 ,, ,,,或其后版本的容器支持, ,, ( ,, 是一个基 ,, 简单并易于扩展。默认安装下 于规则的纯 ,, 应用, 的 , , ;, , ,, 使用一个过滤器 , , ;,,,, , , ,, ,,它作用于所 , ,, 有的请求, 并读取配置文件中的规则, 根据特定的负载 均衡算法( , ,, 、 ,, , ,,) 如 ,,, , ,, , , 将请求快速重定 , ,, ,复制机制, , 以便 向到不同的服务器。同时引入 ,, , 于在会话层解决集群的失败重启问题。 ( ) ,,的 , ,;, , ,, , , 集群架构 为了搭建 ,, ,,的集群环境, 安装 了 ,个 ,, , , ;, ,, , , , 实例( , 分别用 , , , , , , , , , ,表示) ,, , , , , , , , , , , ,, , , , , ,, , ,, ,, , , , ,,, , ,, , , , 数字图书馆 使用垂直扩展方式, 即在单台机器上运行多个 ,, , ,, , 实例。为了便于会话复制等操作, 各个 ,, , ,, , ,下 , , 应用的目录结构和内容都是完全一致的。,, , ,,,, ;, ,集群架构图及各组成要素如图 ,所示: ,, 义具体的负载均衡规则, 包含不同的规则和重定向的 , ,。 , , ;,,, 按照 , , (, 中指定的顺序检查规则, , ,, ,, , ,, , ,, , , 找到 第一个匹配的规则后, 不再继续匹配, 这个请求马上被重定 向。可以修改 , , (,, , ,, ,使其遵循 , ,,,, , , ,, ,, ,或者 , , , ,,算法。基于 , ,, , , 的规则配置文件如下: , ,, , ,, , , , ,,, , ,, ,,, , , ,, : , ,, , , , : (:,;, , : , , , ,, , , , , ,, , , , ,, ,,; , , ,,,, ; ,, ,, ,, ,, , ,,, ~ , , ,,, , , , , , , ,, ,,, , , , , , ,, , , , , , , , , , , (,;,, ,,( , ,, ,, ( ,,, ,, , , , ,: , ,,,( ,,, ,, ;, , ,, ,, ,; , , , ( , ,, , : , ,, , , ,, , , ,, : : , , ,, ; , , ,, , , ,, , ,, ;, : : ,,, , , ,, , , ,, , , ,, , ,, , : , (((: ; ,,, ,, , ,,,,, , , , 图 , ,,,, ,集群架构图 ,, , ;, ,, , , ,, , , , ,, : ; ,,,, : ,, , , , , , , ,, : , : , ;, , ,, ,, , ,, , , , : , ,,,, , , , ,, , ,, ,, ; , , , , ( , , , , , : , , , ,, , ?负载均衡器( ,,, , ;,: ,, , ,,) 一个 ,, , 实例, , , ;, 主要 负责将网络负载按一定策略分发到集群中的成员节点, 代号 , , 。这样应用不再在单一服务器上执行, ,, , 而是动态选 择服务器。负载均衡器为集群提供单一入口, 如同直接和独 立服务器交互, 对于客户端来说是透明的。 ?集群成员( , , , ,) 集群成员包含三个 ,, , ,, , ,, : ,, , ;, 服务器实例, 代号分别是 , , ,, , , , , ,和 , , 。这些服务器 ,, 实例是实际处理 ,, 请求的节点, , 节点之间通过组播( , ,, ,,,方式通信, ,, ; ) 发送者和每一接收者之间是一点对多点的 网络连接。 ?会话复制( ,, ,, , ;,, : ,, ,状态复制允许 ,, , ,,,,) ,, , , , , , 在原来的服务器失败时, 能够无缝地从集群中的另外一台服 务器上取得客户的 ,, , ,, ,数据, , 从而保持服务的连续性。 这里使用的是基于内存的复制机制, ,, , 对象改变时, 当 ,, , , ,, , 数据将被复制传播到所有三个集群成员。 ,, , , ?失败重启( , , ,,: ,, , ,) 目前 ,, ,并没有提供内建 , , ;, 的失败重启机制, 可以自己编写工具类来检测服务器状态。 , ,; ,, ,, ,, , , :,,; , , ,, , ( , , , , , , :,: , ;, , ,, , ,,, , , ,, : , ,, , , , ,, , ,, ,; , „„ , , , , , , , (,;,, ,,( , ,, ,, ( ,,, ,, , , , ,: , ,,,( ,,, ,, ;, , ,, ,, ,; , , , ( , ,, , : , ,, , , ,, , , ,, : : , , ,, ; , , ,, , , ,, , ,, ;, : : ,,, , , ,, , , ,, , , ,, , ,, , : , (((: ; ,,, ,, , ,,,,, , , , , ,, , , , ,, : ; ,,,, : ,, , , , , , , ,, : , : , ;, , ,,, ; , , , , , , : , ,,,, , , , ,, , ,, ,, ,, , , , , ( , , , , , : , , , ,, , , ,; ,, ,, ,, , , :,, , ,,,,, , ( , , , , , , :,: , ;, , ,,,; , , , , ,, : , ,, , , , ,, , ,, ,; , ~ , , , , ,, ,,, , , , ,, ,,,,,, , , , ; , ,, , , ,, , ; ,,, ,, ,, , , , , ,,, ,,, , , , ,,: , ,,,( ,,, ,, ;,,, ( ;,, , , ,, ,; , , ( ,;, , ,,( , ,, , ,, ;, , , ( , , , , ,, , ,, , , , : ,, , , , ; ,, , , ,, , ,, ,, ,, ;,, ,, : , , , , , : , : , ;, , ,, ,, ,,, , , , ,, , , , , : , ,( , ,, , , ,, ,, ,, , ;, ,,,, ,集群配置的详细参数如表 ,所示。由 于所有 ,, , 实例都运行在一台机器上, , ;, 因此实例的 , ,, ,, 属性需要设置成唯一。, , , ,,, , ; ,,,, , , , ;, ,, ;, , , ,,等属性都用于集群节点之间的多播通信, , ,, , , 而 ; , , , , ,, ,, ,, ,, 等属性用于 ,,, 复制。 , ,, , ; ,,,, , , , , , ,, ,, ( )集群方案性能分析 , 该集群配 置方 案采 用 ,, , 自 带的 , , ;, , ;, , ,, 应 , 用, 其简单易于扩展的特点非常适用于 ,, ,,目前的应 用环境。随着用户访问量的增加, ,,将面临集群扩 ,, 展的需求, 只需增加集群节点, 修改配置文件即可, 简 单易操作。通过修改 , , (,, , ,, ,也可以自定义和扩展 , 负载 均 衡 策 略, , ,,,, , 、 ,,, ,, , , 如 ,, ,, , ,, 、 , , , , 该方案中采用了会话复 , ,, ,, 等负载均衡算法。同时, 制和持久化的方法, 以达到会话级别的容错。 在目前 ( )配置文件及配置参数 , 在 ,, , 集 群 中, 多 个 用 户 请 求 传 入 服 务 器 , ;, 当 , ,, ,, , ,, 后, 由负载均衡器上的 , , ;,,, 来决定将请求重 定向到哪里, 这里涉及三类配置文件: ?,,(,:在 , , ;, ,, , , ,, 上用于定义和映射 , , ;,, , , ,, , , , ,, , 在各个集群节点上用于指明 ,, , ,应用的 ,, , ,, ,数据是 , 否需要复制。 ?,, ,, ,用于对各个 ,, ,服务器实例进行集群 , , ,: ,( , ;, 配置, 包括: , 、 ,,; ,,,, ,,, , ,,,, ,,, ,, , ,,, 、 ,,, , , ,,, ;, , , 、 ,, 、 , ,, ,? ,, , 信息等。 , ,、 ;, , 、 ;, , ,,, ,, ,, , , ,, , ,; 以及 , ;, , ?, , (, : , ,, 节点上的该配置文件用于定 , ,, , , , ;, , , ,, ,, , 现代图书情报技术 , 总第 ,,期 ,, , ,,年 第 ,期 表 , ,,,, ,集群配置参数 ,, , ;, 配置参数 ,, ,,,, ,, ; ,, , ,, , , ,,, , , , ,; , , ,,, ,, ,, ,, , , , , ,, , , , ,,, ,,; , , , ,,,, ;, , , , ,,, ;, , ,, , ,, , ,, , ; ,,, ,, , , , , ,, , , ; ,,,, , , , 实例 , 负载均衡器 , , ,, , ,, ,, ,, ,, ,,,, , (, ( ,,,, , (, ,,, ,, ,,,,, , ((( ,, ,, 实例 , ,, ,, ,, ,, ,, ,, ,,,, , (, ( ,,,, , (, ,,, ,, ,,,,, , ((( ,, ,, 实例 , ,, ,, ,,, ,, ,,, ,, ,,,, , (, ( ,,,, , (, ,,, ,, ,,,,, , ((( ,, ,, 实例 , ,, ,, ,,, ,,,,, ,, ,,,, , (, ( ,,,, , (, ,,, ,, ,,,,, , ((( ,, ,, 集群节点 , 集群节点 , 集群节点 , ?将分布策略和复制策略结合起来, 可以同时应对请求 ,, 制 形 成 各 自 的 ,复 压力 和 索 引 扩 展 问 题, 将 每 个 ,, 即 , ,, , , , , ,由 ,, 负责处理索引更新和优化, , , 而通过负载均衡 ,, , 调度, 可以将查询请求分配到合适的 , , 节点上。 ( ,, , , ( ,, , , ( ,, , , ( ,, , , (, ;, , , (, ;, , , (, ;, , , (, ;, , , 图 ,是 ,,从简单到复杂的结构扩展图, , , 可以根 据不同的需求组建不同容量的系统。 集群规模较小 的时候, 采用基于内 存的复 制策 略, 即 ,, ,的 , , ,, , , 来进行会话复制; , ;, , , ;,, , , , ,, 将来如果 有必要扩展到更大规模, 可以采用会话信息持久化的 方法。 由于硬件条件限制, 该方案也存在一些缺陷。由 于仅仅设置了一个负载均衡器, 当用作负载均衡器的 ,, , 实例挂起时将没有途径转发请求到集群节点, , ;, 引发单点失败。由于所有 ,, ,实例( , ;, 包括负载均衡 器) 都是配置在同一台机器上运行, 不能很好地保证集 群的效率, 更好的设置就是在一台独立的机器上运行 负载均衡器。同时, 基于内存的会话复制, 对于小规模 集群是可行的, 但是面对更大型集群时, 就需要考虑其 他策略。 ,, ( 基于 , ,的分布式搜索 , , ,,是一种开放源码的、 , , 建立在 , ;, 之上的企 ,,, 业级搜索服务器, 它支持分面搜索、 智能缓存、 命中突 出显示和多种输出格式。,,在充分发挥 , ;, 的功 , , ,,, 能上做了很多 工作, 特别是在处理大 规模 应用 方面, ,,以简单易操作的方式提供了高度可伸缩性的搜索 , , 方案。 ( ), , , ,,的分布式检索构架 影响检索系统性能的两个主要因素是查询请求量 和索引量。,,通过分 布 ( ,, , , 和复 制 ( ,, , , ,,, , ) ,, , , , , ,, ;,, 策略, ,,) , 能够很灵活地处理各种需求 ,, : ,, 图 , , 容量扩展过程中的 ,种架构方案 ,, ,, , 在 ,, ,,系统流程中,, 主要负责对检索点字段 ,, , 如题名、 作者、 刊名、,, 文摘、 ,, 、 机构、 关键词、 出版时 间等进行索引。目前面临的主要问题是索引量较大, 且处于持续增长中, 因此采用分布式策略, 将索引按一 定策略分割存 放于 两台 机器 上, 检索 时由 两 台 ,, ,, , 上的结果合并而成。,, , ,, , ,,,, ,, 配置详情如表 , , , 所示: 表 , ,,,,,, , ,, , ,, 配置 , , 项目 数据分割策略 , 主机 , 端口 内存大小 硬盘容量 , ,频率 , 目前存放索引量 ,, , ,, , 以, ,万条数据为单位, 平均切分 ,,,,,,,, , (, (, (, ,, ,, , , ,, ,, , ,, , , (,, , ,, , ,,,万 , ,,,,,,,, , (, (, (, ,, ,, , , ,, ,, , ,, , , (,, , ,, , ,,,万 , ,, , ,, , , 索引分割存放之后, 检索过程就相当简单 , ,: 只需 要将 ,, 的 , ,参数放在一起, ,, , , 用逗号分割, , 如: , ,: , ;, , ,, ,, ,, , ,, , , , , ,, , ,, , ,, , , , , ; ,, , , :, ,, ,, , , ,, ;, : ,, , , , , ,,, (, 么 , ?,,,, , 会 独 ,, , , , , , (( 那 ,, ; , : ,,, ,, 将 , , 立地检索列出 , , 将结果合并输出, ,, 如同在一个大索 引文件上执行检索一样。 ( ), ,配置分析及扩展方案 , , , 在大规模索引问题上, , 提供的解决方案简单 ,, , 且成熟, 足以扩展到 , ,亿级的索引量。构建分布式的 ,,服务器极其简单, , , 只需在每台机器上安装 ,,即 , , 可, 每台机器都被 ,,视为一个 ,, ,,, , , , , ,, , ,数目可以 从 ,到 , 不等。目前没有立即可用的对分布式索引的 支持机制, 可 以 选 择 使 用 最 简 单 的 方 法, , ,, 但 如 ,, ,, : ,, 将每个 , ;, , 依次 放到 下一 个服 务器 进行 , ,, ,, ?通常情况下, 由一台服务器负责索引更新和请求响应。 ?当有大量的查询请求时, 通过将索引复制到多台机器 ( , , 上, , ,) 形成 , , ,, , 结构, , , , , ,, ,, , , , 由 ,, 负责索引更新以 , 及将更新反映到 , ,, , , 则负责处理所有查询请求。 , ,而 , , , , ?当索引过大而一台机器处理能力不能应对时, 可以将 索引分割放置在多台机器上( ,,, , ,, ) 每个 ,, , ,, ,自行负责 索引更新和请求处理, 将各个 ,, ,, ,返回的结果合并形成最 终结果。 , ,, , , , , ,, , ,, ,, , , , ,,, , ,, , , , 数字图书馆 索引。需要 注 意 的 是, , 并 不 会 计 算 全 局 的 , ,, , ,, ,, , 。在数据量较大的情况下, 基于 ,, 层次的 , ,, , ,, ,,计算不会存在太大偏差, , 但是如果索引分布极不 均匀, 可能就需要特别重视相关度计算问题。 目前的配置解决了索引量大的问题, 下一步的扩 展需要考虑请求量增大时的负载均衡问题, 解决 办法 鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载 是 ,,, , ,, , ,,, , ;,, 即在索引分割的基础上为 ,, , ,,,,, , , 每个 ,, 复制 , 个副本( , , , ,, , „, , ,) 在每个 , , , , ,, 上 , 索引 和更新索 引文件, 然后将更 新反 映到每个 , , ,, , 上, 由每个 , , 负责具体的检索请求处理。为了提高 ,, , ,, , , ,的 , , , 可用性, 可以设置负载均衡器并为每个 ,, 集合设置虚拟 ,, , 当一个 , , 节点发生错误时, ,, , 负载 均衡器将会检测错误, 并将查询请求重定向到剩余可 用的 , , 节点。 ,, , 尽管简单易操作, 但是 ,,的分布式搜索目前仍 , , 存在一些缺点: ?, , , ,, 节点不容错, , 因此它一旦停止, 系统就不能为 新的文档创建索引或执行复制; 但是对于可以手动或通过脚 ,, ,的较小分布式配置而言, 这 本和外部监控工具来管理 ,, 并不是太严重的问题。 ?并不是所有的 ,,,,版本中的 ,, , , ,,, 都 , ( , ,, , , ,,, ; 是分布式感知的, 搜索、 分类、 调试和突出显示组件是分布式 感知的; 而其他不常用的组件, 正在努力实现这个功能。 ?, , ,,, , ,,, , ,服务器节点, ,, , , , ,: ,, , 访问集群内 ,, 每个服务器节点都和所有的存 数据节点的 , , ,服务器, 储节点相连接。, , ,服务器节点给开发者提供了标准的 ,, , ,访问接口, , 直接处理应用程序请求而屏蔽了与存储节点 交互的所有底层细节。方案中设置两个 , , ,服务器实 ,, 例, 如果其中一个失效, 另外一个还可以继续工作。 ?, , ,,数据节点或存储节点, , ,, ,: 所有数据库中的数 据表被划分为两份( ,,标识) 并建立两组冗余备份( 用 、 , 用 , ,标识) 、 。这样, , , , , , , 保存的均为完整的数 , , , 和, , , , ,和 , 、 , 节点 , ,和 , ,存储的都是相同的数 据内容; 节点 , 节点组内的节点互 据划分; , , , 、 , , , 称为节点组, , ,, , , ,, , ,失效时, 节点 , ,将替代节点 , ,执 为备份节点。当节点 , 行任务; 同样当节点 , ,失效时, ,节点将起到支撑作用。 , 通过这种存储节点设置, 既解决了数据容量问题, 也能很好 地解决故障恢复和负载均衡问题。 数据节点配置文件示例如下: , , ,,, , ,, , ,, , ,, , ,? , , , , ,, ; : , ,? , , ,, , ,,, , ,; , , ,, ,, ;,,,, , ,,,,,,,, , , ,,; ,, , , (, (, (, ,, , ,? , , ,, , ,,, , ,; , , ,, ,, ;,,,, , ,,,,,,,, , , ,,; ,, , , (, (, (, ,, , , ? , , ,, , ,,, , ,; , , ,, ,, ;,,,, , ,,,,,,,, , , ,,; ,, , , (, (, (, ,, , ,? , , ,, , ,,, , ,; , , ,, ,, ;,,,, , ,,,,,,,, , , ,,; ,, , , (, (, (, ,, 图 , ,,, , ,,,, 节点 ,, ,, , , ,, ,, ( ,, , , ,,,, 数据库集群方案 ,, , , 考虑到 ,, ,,的开发历史和今后的数据扩展速度, 选择 , , ,,,, 数 据 库 集 群 方 案。, , ,,, ,, , , ,, ,, , , , ,, 采 用 了 , , ,,, 存 储 引 擎, 许 在 无 共 享 , ,, , , , , ,, 允 ( ,, , , ) ,, ,, , , 的体系结构中部署“ , ,, 内存中” 的数据 库。, , ,集群一般由分布的多个节点组成, ,, 由于每 个组件有自己的内存和硬盘, 因此不存在单点故障, 具 有高可用性、 高可靠性和易扩展性等特征。 ( )集群架构及节点功能 , , , ,,,, 具有较高的可配置性, ,, , , ,, 可以根据实 际需求更改集群内计算机的数量、 存储节点数量或应 用程序数量。,, ,,的 , , ,集群共包含三类节点, ,, 配 置详情及节点结构如图 ,所示。 ?, , , ,: , ,,管理服务器节点, 在两个 , , ,,, , ,, , , 节 , 点上均安装了该类节点, 用于管理 ,,, 内其他节点的配 , , ,, 置, 控制系统的初始化, 是集群系统中应首先启动的节点。 管理服务器节点只在系统启动和重新配置的时候起作用, 即 数据节点工作的时候无需管理服务器节点的介入。 , 现代图书情报技术 , 总第 ,,期 ,, , ,,年 第 ,期 , , ,,, ,, , ,, , ,, , ,,,, , , , ; : , ,?,, , , , ,,; , , ,, ,, ;,,,, , ,,,,,,,, , , ,,; ,, , , (, (, (, ,, 与全部的存储节点建立了连接, 因此可以由其他服务器节点 ,, 接管并提供数据库服务, 同时通过重启节点来建立与 , , , ,,, 的连接。当存储节点宕机时, , , ,, 所有其他节点都将收到 消息。由于数据是同步复制的, 总会找到其他可用的存储节 点来执行事务请求, 故障恢复时间一般少于 ,。由于服务器 , 节点和存储节点运行时与管理节点是相互独立的, 因此管理 服务器节点失败或重启任意次数都不会对集群节点运行造 成影响。 ( )配置方案特征及性能分析 , 单点故障的避免, 使得 , , ,,,, 在理论上可 ,, , , ,, 以保证 , (, ,的可用性。,, , ,, ,,系统的配置方案结 合 ,, ,,的特定需求, 充分利用了系统架构的优点。 ?高可用性 , , ,,,, 具有高可靠性特征, ,, , , ,, 体现为不存在单点 失败, 任何节点可以被杀掉, 而不会丢失数据或者造成应用 ,, 程序中断 ,, 。这种特征的实现得益于其节点架构设计: 从上述分析可知, 从理论上来看, ,, , , ,集群技术 方案既解决了 ,, ,,的数据扩容问题, 也可以保证数据 库系统的高可用性和高可靠性。但由于 , , ,,,, ,, , , ,, 使用基于内存的数据库引擎, 即所有表的数据( 包括索 引) 都保存在内存中, 因此对内存要求较高。如果一个 数据节点上的内存使用超出了可用的范围, 则操作系 统会使用交换内存来达到上限值 , , , , , , , , , 将导致 , , 性能严重下降, 且可 能导 致响应 时间 变慢。此 外, 并 , ,表目前还存在诸多局限性, , 如不支持临时表; 不 支持 , ,,, 索引、 , ,, , 前缀索引以及不支持部分回滚和 回滚到保存点等, 这些局限性将随着技术的发展被进 一步解决和完善。 , 每个 , , ,服务器节点和所有的存储节点相连接, ) ,, , , ,服务器可以很容易地使用其 如果一个存储节点失效, ,, 他节点来执行事务。 , 每个存储节点都有备份节点( ) 允许至多备份数为 , , ) 在事务执行过程中所有数据都会同步备份, 即事务执行的结 果将会传播到所有相关存储节点。如果一个存储节点失效, 总是会有其他存储节点保存有相同的数据。 , 只要存储节点启动并开始运行, ) 管理服务器节点可以 被杀掉、 重启甚至停止, 都不会影响到存储节点上正在执行 的事务。 ?易扩展性 , , ,,,, 基于无共享的组织架构, ,, , , ,, 每个节点具有 自己独立的处理器、 内存和磁盘, 系统中的各节点可以独立 地处理自己的数据。这种结构具有优良的可扩展性: 只需增 加额外的处理节点, 就可以以接近线性的比例增加系统的处 理能力。因此, 通过增加存储节点服务器, 可以有效地解决 ,, ,,数据系统面临的持续扩容问题。 ?数据独立性 应用程序通过 ,, , , , 节点连接到集群系统, ,, , , 由 , ,节 , 点负责接收和处理应用程序请求, 因而屏蔽了应用程序与存 储节点交互的所有细节, 这很好地维护了数据的独立性和透 明性。数据存储引擎负责处理所有底层的事务, 如数据复制 和自动故障恢复等, 应用程序不必了解数据的存储详情, 实 现了数据存储透明;, , 节点负责处理网络分割和数据分 ,, , , 布, 实现了数据分布透明; 应用程序在编码时也不必在意数 据是如何备份的, 就像操作一个独立完整的数据库一样, 从 而实现数据备份透明。此外, 独立通用的 , ,接口使得任 , 何底层编程语言的开发者都可以实现 , , ,集群的这些高 ,, 可用性特征。 ?快速故障恢复 , , ,,,, 具有高可靠性, ,, , , ,, 同时也具备快速故障恢 复机制。当 ,, , , , 节点出现故障时, , 由于每个服务器节点都 , 性能测试与比较分析 ,, ,,服务系统经过一定时间的编码和调试, 正式 进入测试阶段。参考集群服务器的常用性能指标, 如 吞吐量、 响应时间、 , , ,利用率、 内存使用率等, 本文选 择较具代表性的平均吞吐量和平均响应时间作为测试 指标。平均吞吐 量指 单位 时间 内处 理的 客户 请求 数 量, 直接体现系统的承载能力; 平均响应 时间指完成一 个请求任务所用的平均时间。测试环境及参数配置如 表 ,所示: 表, 测试参数配置 参数 测试对象 测试方式 测试工具 测试数据 并发线程数 返回结果数 说明 ,, ,,集群服务器 压力测试、 并发查询测试 自定义代码 ,多种访问录制成一个测试流程, 采用 ,, ,, 将常见的 , 格式表示 ,,个, , 每间隔 , ,秒启动 , ,个线程 , , ,,,条 测试结果如表 , 所示。从表 , 的测试结果可以看出: ( ),, , , 个线程完全并发的情况下, 虽然线程 , ,越 大平均响应时间有越长的趋势, 但都执行良好, 说明在 系统承载能力范围, 可以预测系统平均吞吐量大于 ,, ,; , ,, , , , , ,, , ,, ,, , , , ,,, , ,, , , , 数字图书馆 表, 测试结果 线程 , , , ,,,, , ,,, , , ,,,, , ,,, , , ,,,, , ,,, , , ,,,, , ,,, , , ,,,, , ,,, , „„ , ,,,, , ,,, , , ,,,, , ,,, , 全局平均值 平均响应 , , , ,, , 平均响应 , , , ,, , 响应成功率 平均响应时间( , ,) ,,, , (, ,,, , (, ,,, , (, ,,, , (, ,,, , (, „„ ,,, , (, ,,, , (, ,,, , (, , (, ,, , , (, ,, , ,, ,, 响应状态 , 失败:) , ( 成功:, , , , , , , , , 参考文献: ,,,买京京( , ,, 服务器集群负载均衡技术研究, , 太原: ,( 中北大 ,, ( 学,,, ,,,,, 集群服务的负载均衡方案选择与实现, , , , ( ,,, , , , , ( ,, , , ) , ,,,, ,, , ( ,, ,,, , , : ,, ( , ,, , ( , ( , (, , ,, , , ,,, , ;, , , , ,, ; ,,,,,, , ,,, ,,,, , , , , , ,, , ,, , , , , , , , , (, ( , ,, ,, ,, , ,,,,, ,负载均衡的 ,,, , ;, ,, ,和容错( ) , , , ( ,, , , , , , , , , ,,, ,, , , , : ,, , (,, ;,,, ,,, ,,,, , ( , (, , ,,, , , ; (, , ,,,,,,, (, , ,, , , , ,,,主流数据库集群技术深入探讨, , , , , ,,,, , , , ( ,, ,,, , ,( , , ,,,, , ,, ; (, , ,,,,,,, , : ,,, (, (,, ;,,, ,,, ,,, ( , , , , ,,,, ,, , ,, , , , , , ,,,, ,;,,, , , , , ( ,, , , ,,, , , , ,,, , , ( , : ,, ( , , ,;,, , , ,,,,, ,,(, , , , ,,( , ,, , ,,,,,, ,, , , , ( ,, , , ,, , , , , ,,,, ;, ,,, , , , ,, , , ; ( , ( , : ,, ( , , , ,, ;,, ;,, ,, ,,; ,, ,,, ,, ,,, , , , ,, ,,, ,,, ,, ; , ,, ,(, ( , , , , ,, , , ,,,,, , , , , ( ,, , , , , , ,, , ,, ,,, ( ,, , , , , , ,,, ,, , ( , : ,, (,, ,, , , , , ; , ,,, , , , , , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ,,, , ,, ,, ,, ,, ,, ,, ,, ( , , , , , , , , ( ) , 各线程平均响应时间为 ,, , , (,毫秒, 且平均 响应时间在 ,,毫秒以内的线程占 , ,, , , 说明并发线 程整体执行性能较好, 响应较快。无论在平均吞吐量 ,, 以及平均响应时间方面, ,,集群服务器均达到了较 好的负载均衡效果, 能够满足应用需求。 , 结 语 本文选择开源集群和负载均衡技术构建可扩缩的 ,, ,,服 务系统, 以解决 ,, ,,大规模数据存取的压力 和服务系统高并发及快速访问的问题, 详细分析了当 前 ,, ,,系统架 构中采用的 ,, 务器 负 载 均 衡 技 ,服 术、 ,, , , 集群技术以及基于 ,,的分布式搜 , , ,,, , ,, , , 索技术, 搭建了可扩缩的服务器体系架构和应用系统, 在实际开发过程中又进一步完善了该系统架构。完成 后的服务系统在严格的条件下( 平均吞吐量和平均响 应时间) 测试了大量密集访问对系统效率的影响, 从测 试结果可以看出 ,, ,,的系统架构方案是成功的, 具有 良好的可扩展性、 可用性和可靠性, 总体来看较好地满 足了目前的应用需求, 并预留了一定的扩展空间。在 系统正式运行中, 还需要进一步验证服务的效率。目 前的实践可以证明 ,, ,,系统的扩容技术方案可以作 为建立类似系统的一个有效参考。 ,,,,, ,的集群和负载均衡, , , , , ,,, ,, , ( , : , , ;, , , , ( ,, , , , , , , , , , ;, ,(, ,,,,,; ,,,,, , , , (,, ,;,, ,, , ,,,,,, (, ( , , ,, , ,,,,,, , ( , , , , ,,, , ; ,, , ;, ,,,, ,;, , ,, , , ,,, , ,, ,,, , , , , ,, , , ,, , , , , , , , , ,,, ,, , (, , ,,, ,;,,, ,,, ,, , , , ( ,, , , , , : ,, ,(, ,, ,,, , , , , ,, ,,, ,, , , (,, ,,, ,, ; , , ,, ( , ,, , , , , ,, ,, , ,,,,(,, , ,, , ,, , , , , ,;,,, , , ,,,,,, ,,, , ;,, , , , ,, , , , , ,,, ,, , (, , ,, ;,, ,,(,, , ,, ( , ( ,, , , , , : , , , ,;,, , ;, , , , , ( ,, , ,,, ,, , , , , , ,;,, ;, ,,, , ( , (, , , ,, , ;, ,, ;, , , , , , , , ,,, ,, , ( , ,, ,, (,,, ,,,,,,, , , , ( ,, , , , , , , , , ,, , , , , , ,,(;,,, , , ,, , ,, ,,, , : ,, (, , ,, ,, , , , ,, , ,, , , ;, ,, , , , , , ,, ,,,, ,;, , , ;, , , , , ( , ,, , ,; ,,,, , ,,, ,, ,, , ,, , , , , ,, , , , ( , ,, , , , , ,,,, , ,, , ,,, , , ,, ,, ,,( , , , ( ,, ,,, , ,( , , ,,,, ,,;,,,, ,, ,( ,,, ,? ,; , ,, , : ,,( ,? , ,;, , ,, , , , ,, , , ( , , ( , ,, ,,,,,, ,,, ,, ( , , , , ,, ,,, , ,,, , , ,,,, ,;,; , ,, , , ,, ,, , , ,, , ( ,, , , , , , ,, , , , , , ,, , ,, , , , , , ,,,, , , , ( ,, ,,, , , : ,, ( ,, , ,,,, , (, , ,, , ,, ,( ,, , ; , , ((, ,, ; , , , ,, , , ,,,,,, , ( , ,? , , , , , , ,, , ,,, , ,, ,, ; ; , ( ( ( 作者 ,, ,: ,, , ,( ,,(, , , ,, ,,, , , (;;) ,, , ,, , 现代图书情报技术 ,
本文档为【[要略]solr集群与负载平衡技巧在国际科学引文数据库干事系统中的应用研究...】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769254
暂无简介~
格式:doc
大小:54KB
软件:Word
页数:0
分类:生活休闲
上传时间:2018-04-28
浏览量:7