`
文章列表
“NoSQL”是在开发人员、架构师甚至技术经理中新流行的一个词汇。尽管这个术语最近很流行,但令人惊讶的是,它并没有一个普遍认可的定义。 通常来说,任何非 RDBMS 且遵循无模式结构的数据库一般都不能完全支持 ACID 事务 ...
HBase有如下几个特点:首先HBase是No-SQL的一个典型实现,提升了系统的可扩展性;其次HBase支持线性水平扩展,极大提升了系统的可伸缩性和运算能力;最后HBase和Google的BigTable有异曲同工之妙,底层也是建立在HDFS(Hadoop分布式文件系统)之上,可以搭建在廉价的PC机集群上。No-SQL、云计算、海量数据分析的普及,使我们越来越关注系统的可靠性(High Availability),数据容灾/数据恢复是高可用系统的一个很重要的技术组成,本文由简入深,一步步搭建一个HBase数据集群,并详细说明生产环境如何使用HBase数据容灾方案。   HBase架构简介 ...

豆瓣架构

如果能达到这样的访问量,确实说明豆瓣高并发的能力是相当强,我想请您从技术这个角度介绍一下豆瓣网的架 构。 这个话题比较大一点,我刚才在演讲的时候,已经表述这方面的问题了。可以这么说,最简单的方法来说,豆瓣网可分割成两大块:一块是前端的Web,也就是用 户在浏览器访问的时候会触发一系列的操作,从数据库拿出数据,渲染成HTML页面反馈给用户,这是前端;另外一块是后端,在豆瓣有一个很强的数据挖掘团 队,每天把用户产生的数据进行分析,进行组合,然后产生出用户推荐,然后放在数据库里面,前端会实时的抓取这些数据显示给用户。 如果是这样子,要是让你重新设计的话,你会觉得有必要改进里面哪些部分 吗? ...
这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网 ...
在lamp架构里,因为设置session 超时时间为一天,所以遇到php产生的session大量存在/data/tmp目录下,数量大概有200万,并且不能及时回收。使用 rm -fr /data/tmp/sess_* 不能删除,rm命令会提示参数太多。 后,使用rsync同步删除命令实现,完美实现了批量删除大量垃圾文件操作。具体步骤如下: 大量文件存在的目录:/data/tmp 使用命令: #cd /data #mkdir -pv /data/null # 建立临时空目录 #rsync -process –delete  -rv  null/ tmp/ 这样可以批量删 ...

svn转移

    博客分类:
  • SVN
两台机器都是window平台 具体操作步骤: 1、将原版本库导出 svnadmin dump g:\svn >response_dump (单版本库,不过里面采用了主干分支结构,g:\svn是版本库主目录 导出要一段时间,视版本多少而定,我的版本号到900多,用了至少10分钟吧,导出文件近500M ) 2、在新服务器上创建安装svn服务,创建版本空库 svnadmin create e:\mysvn 3、导入版本库 svnadmin load e:\mysvn <response_dump (导入过程也需要点时间) 4、将原配置文件(conf)目录 ...
   项目使用到activeMQ,在使用过程中遇到一个问题,我使用多个线程去读取队列,每个线程使用一个queue的连接对象,这些连接对象都读取ActiveMQ中的同一个消息队列。但发现只有第一个队列可以循环读取,别的队列都读取到null,但使用activeMQ的控制台查看,队列里还有20多个消息呢,后来google才知道,原来为了性能优化,ActiveMQ为每个open的链接预抓取一个数量的消息(默认情况是100个),也就是说第一个打来的连接将队列里20多个消息都预锁定了,第二个连接读取就为空了。为了避免这样的情况,可以设置预读取为1,使用jms.prefetchPolicy.queuePref ...
1.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  2.<html xmlns="http://www.w3.org/1999/xhtml">  3.<head>  4.<meta http-equiv="Content-Type" content="text ...
unzip命令出错 End-of-central-directory signature not found    Linux 下,使用unzip解压时,报错: unzip trunk.zip Archive:  trunk.zip   End-of-central-directory signature not found.  Either this file is not   a zipfile, or it constitutes one disk of a multi-part archive.  In the   latter case the central directory ...
ReentrantReadWriteLock 可重入的读写锁 什么叫可重入:就是同一个线程可以重复加锁,可以对同一个锁加多次,每次释放的时候回释放一次,直到该线程加锁次数为0,这个线程才释放锁。 什么叫读写锁: 也就是读锁可以共享,多个线程可以同时拥有读锁,但是写锁却只能只有一个线程拥有,而且获取写锁的时候,其他线程都已经释放了读锁,而且在该线程获取写锁之后,其他线程不能再获取读锁。 我们先看下下面两个示例: ReentrantReadWriteLock.java自带的两个示例 Java代码  1.* class CachedData {  2.*  ...
分页查询只需要传入每页显示多少条记录,当前是第几页就可以了。   当然是对搜索返回的结果进行分页,并不是对搜索结果的总数量进行分页,因为我们搜索的时候都是返回前n条记录。   例如indexSearcher.search(query, 100);//只返回前100条记录 /**      * 对搜索返回的前n条结果进行分页显示      * @param keyWord       查询关键词      * @param pageSize      每页显示记录数      * @param currentPage   当前页      * @throws Par ...
  Apache Commons Compress是一个压缩、解压缩文件的类库。   可以操作ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 and bzip2格式的文件,功能比较强大。   在这里写两个用Commons Compress把文件压缩成zip和从zip解压缩的方法。   直接贴上工具类代码: package rockecsn.jaker; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; ...

BoneCP的使用

  BoneCP是一个Java数据库连接池库,官方介绍它的速度非常快,测试值高出C3P0、DBCP很多,性能也非常出色,值得一用。   使用BoneCP有一些要求:   1)Google Guava library   2)The SLF4J logging library   3)JDK1.5 or higher --------------------------------------------------------------------------------   1、在JDBC中直接使用。   1)classpath路径下log4j.properties ...
一个例子学懂搜索引擎(lucene) 来源:javaeye 作者: jaker   其实,lucene是一个很容易上手的搜索引擎框架,传统的搜索引擎,涉及到爬虫,也就是爬取网页,然后对网页进行加工,也就是索引,最后用于搜索,lucene这个框架可以很方便的帮你做到后面两个步骤,也就是索引和搜索!本文尝试通过一个例子,使大家掌握lucene的使用核心方法,包括分词、索引、搜索不同的目录、搜索不同的域,希望大家通过这个实例,对lucene和搜索引擎能有比较全面的认识! 其实,lucene是一个很容易上手的搜索引擎框架,传统的搜索引擎,涉及到爬虫,也就是爬取网页,然后对网页进行加工,也就是索 ...
Lucene搜索结果排序问题(按时间倒序排的替代解决方法) 对于数据量大(索引文件大于50M)的索引,尽量不要用索引中的字段排序,要用索引ID排序(INDEXORDER);两者效率相差近10倍,以下从内存占用与CPU处理时间来比较: 内存占用比较: 图一:使用整型的唯一标识字段排序 图二:使用索引ID(INDEXORDER)排序 拿占用内存最多的对象来比较:我们可以看到,图一比图二多 2,900,766 bytes(索引文件大小:61M) 处理时间比较: 使用整型的唯一标识字段排序的处理时间是3016ms,使用索引ID(INDEXORDER)排序的时间是303ms 解决方法: 为 ...
Global site tag (gtag.js) - Google Analytics