- 浏览: 342204 次
- 性别:
- 来自: 上海
最新评论
-
CFJAVA:
分析的真仔细,拜读了!
深入剖析SolrCloud(三) -
cc3514772b:
目前也在使用solr ,想跟lz交流下。。
深入剖析SolrCloud(三)
文章列表
每日学习笔记(24)
- 博客分类:
- Java
1,一开始都是调用HttpMethod的getResponseBody()和getResponseBodyAsString,但这样总会出现下图中的警告信息
这是由于没有使用缓存的缘故,如果字符串数据过多,会出警告,应该改用流和缓存来读取数据:
InputStream resStream = null;
...
在上一篇中介绍了连接Zookeeper集群的方法,这一篇将围绕一个有趣的话题---来展开,这就是Replication(索引复制),关于Solr Replication的详细介绍,可以参考http://wiki.apache.org/solr/SolrReplication。
在开始这个话题之前 ...
深入剖析SolrCloud(三)
- 博客分类:
- Java
在上一篇中介绍了SolrCloud的第一个模块---构建管理solr集群状态信息的zookeeper集群。当我们在solr服务器启动时拥有了这样一个Zookeeper集群后,显然我们需要连接到Zookeeper集群的方便手段,在这一篇中我将对Zookeeper客户端相关的各个封装类进行分析。
SolrZkClient类是Solr服务器用来与Zookeeper集群进行通信的接口类,它包含的主要组件有:
private ConnectionManager connManager;
private volatile SolrZooKeeper keeper;
private Z ...
深入剖析SolrCloud(二)
- 博客分类:
- Java
上一篇介绍了SolrCloud的基本概念,从这一篇开始我将深入到其实现代码中进行剖析。
SolrCloud最重要的一点就是引入了ZooKeeper来统一管理各种配置和状态信息。zookeeper是一个开源分布式的服务,它提供了分布式协作,分布式同步,配置管理等功能. 其实现的功能与google的chubby基本一致.zookeeper的官方网站已经写了一篇非常经典的概述性文章,请大家参阅:ZooKeeper: A Distributed Coordination Service for Distributed Applications.
上一篇的示例中是在启动每个s ...
深入剖析SolrCloud(一)
- 博客分类:
- Java
SolrCloud是基于Solr和Zookeeper的分布式搜索方案,是正在开发中的Solr4.0的核心组件之一,它的主要思想是使用Zookeeper作为集群的配置信息中心。它有几个特色功能:1)集中式的配置信息 2)自动容错 3)近实时搜索 4)查询时自动负 ...
技术宅---我的网上抢火车票攻略(终极秒杀版)
- 博客分类:
- 程序人生
前几天在我在博客上发了一篇《技术宅---我的网上抢火车票攻略》,短短4天内点击量达到8000多,可见火车票是近期最为火热的话题了。这几天又帮很多朋友代购火车票,不断总结经验教训,最后得到了一个完整的全自动刷票方案。
准备工作:
1)一键自动刷票软件Go-Home
下载地址:
技术宅---我的网上抢火车票攻略
- 博客分类:
- 程序人生
在前面
写这篇文章的起因是今天在12306上买火车票时,被这牛逼的网站给震撼到了,靠,牛叉得让人无语的用户体验啊。就讲讲我是如何利用一个小工具做辅助,幸运地抢到了回家的卧铺票的。希望能给有需要的兄弟们做个参考。
回顾下我今天网上购票的全过程,总结起来有四个难关,第一是登陆,第二是预定,第三是提交订单,第四是支付。本文的目的主要是为了在第一和第二关提供一些帮助。
准备工作:
1,firefox浏览器
2,油猴脚本扩展GreaseMonkey
(有园友反映这里看不懂啥意思,好吧,特别补充一段。GreaseMonkey是一个firefox扩展,当然,别再问我啥 ...
每日学习笔记(23)
- 博客分类:
- Java
1,从前端传过来的参数是"\u9676\u9676\u6D4B\u8BD5\u8D26\u53F701"这样的unicode编码,需要将其转换为中文字符串,发现java.util.Properties类中有一个loadConvert函数可以完成这件事,直接copy过来使用。
public static String loadConvert(char[] in, int off, int len, char[] convtBuf) {
if (convtBuf.length < len) {
int newLen ...
系统对外提供的Solr查询接口,在来自外部调用的压力加大之后,就会出现solr查询报Read
Timed Out的异常,从表面现象上看是此时solr核压力过大,无法响应过多的查询请求。
但实际上此时并发查询压力并不是很大,那么为何solr核会无法及时响应查询请求呢?首先用top查看了下load
average,也是很低,也佐证了系统本身压力并不大。
然后,用jstack –l <pid>查看那些cpu使用率过高的线程,发现全都是GC线程,说明
- 2011-11-14 12:32
- 浏览 712
- 评论(0)
1,今天收到报警信息,说应用所在机器的硬盘空间不足了,上去一看,居然发现国庆这几天的日志信息累计达到了260多G,可看了下应用下的日志,实际只有几十M而已,进一步check后发现是调用的第三方应用在另一个日志路径下打出大量的Debug信息,回查代码后才明白是Logback和Log4J的冲突问题,于是写了一个类在应用启动时将Log4J的级别调高至ERROR级别,代码如下:
public class Log4jInit {
private static String logFilePath;
private final static String DEFAULT_LOG4J_FILE_NAME ...
- 2011-10-12 19:50
- 浏览 643
- 评论(0)
1,Solr合并索引数据有两种方法,第一种是1.4版本中引入的,通过CoreAdminHandler来实现,示例如下:
http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core0&indexDir=/opt/solr/core1/data/index&indexDir=/opt/solr/core2/data/index
上述命令会将core1和core2的索引合并到core0中去,这里最值得注意的一点是:一旦合并完成,必须在core0上调用commit操作,否则索引数据的变化对于se ...
- 2011-09-28 15:02
- 浏览 720
- 评论(0)
今天的工作需求如下:有一个生产者负责生成源数据,将数据插入到多个工作队列中,每个工作队列由一个线程池进行处理,即每个线程池中可以启动多个线程对与其对应的工作队列中的元素取出来进行处理。
我将业务需 ...
- 2011-08-23 23:00
- 浏览 690
- 评论(0)
今天碰到一个浏览器兼容性的问题,是IE和Firefox下iframe DOM操作的差异。本文借IE和Firefox在iframe DOM操作的不同,进行分析说明JavaScript在DOM操作中两者的不同。
IE和Firefox对iframe document对象的差异性
在IE6、IE7中,我们可以使用document.frames[ID].document来访问iframe子窗口中的document对象,可是这是不符合W3C标准的写法,也是IE下独有的方法,在Firefox下却不可以使用,Firefox下使用的是符合W3C标准的document.getElementById(ID ...
- 2011-07-01 16:38
- 浏览 642
- 评论(0)
在看jdk里的collection framework这部分,小结一下:
1,Arrays.copyOf, System.arraycopy这两个方法用得非常多。
2,比较两个Object是否相等
if (o1==null ? o2 == null : o1.equals(o2))
3, equals方法一般写法
Public Boolean equals(Object o) {
If (o == this) return true;
If ( ! (o instanceof List) return false;
//比较具体数据大小
}
4,Iterator ...
- 2011-07-01 16:37
- 浏览 600
- 评论(0)
由于以前没接触过Maven,上周第一次checkout项目代码学习时,看到项目的结构觉得挺奇怪的,src/main/java下放代码,src/main/resource下放配置文件,src/test/java下放单元测试文件,src/main/webapp下放web层的代码,今天看了《Maven权威指南》后,才明白这是Maven的约定的代码结构,它的核心理念就是“约定优于配置”。
Maven和Ant的区别简单来说,就是如果你使用Ant,那么就必须明确告诉Ant你想让它做什么,你的源代码在哪里,结果字节码你想放到哪,如何把这些字节码打包成JAR文件,而使用Maven,你只需要创建一个pom ...
- 2011-07-01 16:37
- 浏览 378
- 评论(0)