大型网站架构设计-Solr

Solr是一个基于Lucene、功能强大的搜索引擎工具,它对Lucene进行了扩展,提供一系列 功能强大的HTTP操作接口,支持通过Data Schema来定义字段、类型和设置文本分析,使得 用户可以通过HTTP POST请求,向服务器提交Document,生成索引,以及进行索引的更新和 删除操作。对于复杂的查询条件,Solr提供了一整套表达式查询语言,能够更方便地实现包括 字段匹配、模糊查询、分组统计等功能

大型网站架构设计-lucene 分布式扩展

与其他的分布式系统架构类似,基于Lucene的搜索引擎也会面临扩展的问题,单台机器难 以承受访问量不断上升的压力,不得不对其进行扩展。但是,与其他应用不同的是,搜索应用 大部分场景都能够接受一定时间的数据延迟,对于数据一致性的要求并不那么高,大部分情况 下只要能够保障数据的最终一致性,可以容忍一定时间上的数据不同步,一种扩展的方式如

大型网站架构设计lucene 索引优化

Lucene的索引是由段(segment)组成的,每个段可能又包含多个索引文件,即每个段包含 了一个或者多个Document;段结构使得Lucene可以很好地支持增量索引,新增的Document 将被添加到新的索引段当中。但是,当越来越多的段被添加到索引当中时,索引文件也就越来 越多。一般来说,操作系统对于进程打开的文件句柄数是有限的,当一个进程打开太多的文件 时,会抛出too many openfiles异常,并且执行搜索任务时,Lucene必须分别搜索每个段,然后 将各个段的搜索结果合并,这样查询的性能就会降低。

大型网站架构设计-Lucene 的使用 高亮和中文分词

高亮 查询到匹配的文档后,需要对匹配的内容进行突出展现,最直接的方式就是对匹配的内容 高亮显示。对于搜索list来说,由于文档的内容可能比较长,为了控制展示效果,还需要对文 档的内容进行摘要,提取相关度最高的内容进行展现,Lucene都能够很好地满足这些需求:

大型网站架构设计-Lucene 的使用

Lucene为搜索引擎提供了强大的、令人惊叹的API,在企业的垂直化搜索领域得到了极为 广泛的应用。为了学习搜索引擎的基本原理,有效地使用Lucene,并将其引入到我们的应用程 序当中,本节将介绍Lucene的一些常用的API和使用方法,以及索引的优化和分布式扩展。

大型网站架构设计-垂直化搜索引擎

这里所介绍的垂直化搜索引擎,与大家所熟知的Google和Baidu等互联网搜索引擎存在着 一些差别。垂直化的搜索引擎主要针对企业内部的自有数据的检索,而不像Google和Baidu等 搜索引擎平台,采用网络爬虫对全网数据进行抓取,从而建立索引并提供给用户进行检索。在 分布式系统中,垂直化的搜索引擎是一个非常重要的角色

大型网站架构设计-消息系统ActiveMQ &JMS (2)

ActiveMQ集群部署针对分布式环境下对系统高可用的严格要求,以及面临高并发的用户访问,海量的消息发 送等场景的挑战,单个ActiveMQ实例往往难以满足系统高可用与容量扩展的需求,这时 ActiveMQ的高可用方案及集群部署就显得十分重要了。

大型网站架构设计-消息系统ActiveMQ &JMS (1)

memcache1是danga.com的一个项目,它是一款开源的高性能的分布式内存对象缓存系统, 最早是给LiveJournal2提供服务的,后来逐渐被越来越多的大型网站所采用,用于在应用中减少 对数据库的访问,提高应用的访问速度,并降低数据库的负载。

大型网站架构设计-Redis 高性能的key-value数据库

Redis是一个高性能的key-value数据库,与其他很多key-value数据库的不同之处在于,Redis 不仅支持简单的键值对类型的存储,还支持其他一系列丰富的数据存储结构,包括strings、 hashs、lists、sets、sorted sets等,并在这些数据结构类型上定义了一套强大的API。通过定义 不同的存储结构,Redis可以很轻易地完成很多其他key-value数据库难以完成的任务,如排序、去重等。

大型网站架构设计-HBase 简单操作API

除了通过shell进行操作,HBase作为分布式数据库,自然也提供程序访问的接口,此处以 Java为例。 首先,需要配置HBase的HMaster服务器地址和对应的端口(默认为60000),以及对应的 ZooKeeper服务器地址和端口:

大型网站架构设计-HBase 可靠性、高可扩展性、实时读/写的列存储数据库

HBase14是Apache Hadoop项目下的一个子项目,它以Google BigTable15为原型,设计实现 了高可靠性、高可扩展性、实时读/写的列存储数据库。它的本质实际上是一张稀疏的大表,用 来存储粗粒度的结构化数据,并且能够通过简单地增加节点来实现系统的线性扩展。

大型网站架构设计-HBase 可靠性、高可扩展性、实时读/写的列存储数据库

HBase14是Apache Hadoop项目下的一个子项目,它以Google BigTable15为原型,设计实现 了高可靠性、高可扩展性、实时读/写的列存储数据库。它的本质实际上是一张稀疏的大表,用 来存储粗粒度的结构化数据,并且能够通过简单地增加节点来实现系统的线性扩展。

大型网站架构设计-mysql分表与分库

对于大型的互联网应用来说,数据库单表的记录行数可能达到千万级别甚至是亿级,并且数据库面临着极高的并发访问。采用Master-Slave复制模式的MySQL架构,只能够对数据库的 读进行扩展,而对数据的写入操作还是集中在Master上,并且单个Master挂载的Slave也不可能无限制多,Slave的数量受到Master能力和负载的限制。因此,需要对数据库的吞吐能力进行进一步的扩展,以满足高并发访问与海量数据存储的需要。

大型网站架构设计-MySQL 大数据大并发支持

以MySQL为例,它作为开源关系型数据库的典范,正越来越广泛地被互联网企业所使用。企业可以根据业务规模的不同的阶段,选择采用不同的系统架构,以应对逐渐增长的访问压力 和数据量;并且随着业务的发展,需要提前做好系统的容量规划,在系统的处理能力还未达到极限时,对系统进行扩容,以免带来损失。

大型网站架构设计-持久化存储介绍

随着科技的不断发展,越来越多的人开始参与到互联网活动中来,人们在网络上的活动, 如发表心情动态、微博、购物、评论等,这些信息最终被转变成二进制字节的数据存储下来。 面对并发访问量的激增和数据量几何级的增长,如何存储正在迅速膨胀并且不断累积的数据, 以及应对日益增长的用户访问频次,成为了亟待解决的问题。
共18 条  1/2页  首页  上一页  下一页  尾页  转到: Go