- 浏览: 306698 次
- 性别:
- 来自: 北京
最新评论
-
dandongsoft:
你写的不好用啊
solr 同义词搜索 -
黎明lm:
meifangzi 写道楼主真厉害 都分析源码了 用了很久. ...
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker -
meifangzi:
楼主真厉害 都分析源码了
hadoop 源码分析(二) jobClient 通过RPC 代理提交作业到JobTracker -
zhdkn:
顶一个,最近也在学习设计模式,发现一个问题,如果老是看别人的博 ...
Java观察者模式(Observer)详解及应用 -
lvwenwen:
木南飘香 写道
高并发网站的架构
文章列表
MongoDB基本操作命令
11.id key
系统自动生成也可以手动指定
系统自动生成:BSON类型的,12个byte的2进制数据,
12 个byte:4byte的时间戳timestamp,
3-byte machine id,
2-byte process id,
3-byte counter
索引被存储在system.indexes 集合里
12.sort 函数 Sort, Limit, and Skip
sort 对返回结果进行排 ...
由于项目的需要,每次都去数据库中查询 域名对应的用户资料,速度上感觉很慢,所以决定采用MongoDB 做缓存层使用,于是简单了解一下MongoDB
bson
1.以空间换时间,查询和索引效率快
2.采用bson存储,上层的操作语言可以任意的转换,如 ...
mysql 中mvcc 实现原理,可翻看源码查看
1个6BYTE的 DB_TRX_ID标识 该行insert或者update操作的最新事务ID,删除操作也被当作一个update操
作(用1个bit表示删除)
1个7BYTE的DB_ROLL_PTR,指向写到rollback segment的一条undo log记录(update操作的话,记录
update前的ROW值)
1个6BYTE的DB_ROW_ID,该值随新行插入单调增加,当由innodb自动产生聚集索引时,聚集索引包括这个DB_ROW_ID的值,不然的话聚集索引中不包括这个值
那么这个DB_TRX_ID是实现MVCC策略的关键
...
离线并发与锁机制
离线并发的来源
在Web项目中,离线并发显得尤其严重。例如,用户A和用户B同时修改数据库中的某张表的R行,加入R行有两个字段分别是C1,C2。
假如按照如下过程修改:
1 用户A将数据R(C1,C2)读取到A的浏览器中。
2 用户B将数据R(C1,C2)读取到B的浏览器中。
3 用户A在浏览器上将数据修改为R(C1’,C2),同时更新到数据库。
4 用户B在浏览器上将数据修改为R(C1,C2’),同时更新到数据库。
...
mysql的master和salve 详解
事件:由于公司的服务器配置较低,大量的请求用户进来托的很慢将系统,于是想到了mysqd集群配置,具体配置参数就不贴出来了,请看下面 的 原理篇
Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instance(我们称之 Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端。
要 实现 MySQL 的 Repli ...
Java观察者模式(Observer)详解及应用
由于网站带有弱sns功能,因此需要设计关注和被关注的消息或是动作通知,那么将这个需求抽象出来的时候就会发现正好符合java中 订阅者模式,我还是喜欢叫观察着模式,具体网站的实现代码就不写了,写一个简单的例子大家了解下即可
一、概述
Java的设计模式很多,观察者模式被称为是模式中的皇后,而且Java jdk也对它做了实现,可见该设计模式的重要位置。在图形化设计的软件中,为了实现视图和事件处理的分离,大多都采用了Observer模式,比如Java的Swing,Flex的ActionScript等。在现实的应用系统中也有好多应用,比如像当当网 ...
高并发网站的架构.
最近在搭建搜索前端的用户搜索平台,遇到高并发问题,同时10000人在线进行同时搜索,那么对网站的负载毫无疑问是一种灾难,我们的小服务器也不出意外 没有顶住压力,有时必须进行高并发改革.下面是改革的一些具体要点:
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火 ...
说说NUTCH插件
AntluceneXMLApacheSpring
每一个基本的非范围搜索都可以由NUTCH来实现,但当我们希望它可以实现范围搜索的时候,我们就需要自己实现插件来完成这个功能。
1)我们查看插件的组织目录,发现NUTCH把很多功能都作为 ...
hbase 安装 版本:hbase-0.20.6
1.操作系统
suse 11.4
2.hadoop版本
hadoop-0.20.2
3.环境
jdk1.6,
server0 192.168.1.10
server1 192.168.1.11
server2 192.168.1.12
server3 192.168.1.13
server4 192.168.1.14
server5 192.168.1.15
server6 192.168.1.16
4.配置hbase server0 master上配置
<property> ...
在linux下安装zookeeper时,出现了如下的错误:
[hadoop@hadoop-master bin]$ ./zkServer.sh start
JMX disabled by user request
Using config: /opt/zookeeper-3.3.3/bin/../conf/zoo.cfg
Starting zookeeper ...
STARTED
[hadoop@hadoop-master bin]$ 2011-07-05 10:33:57,587 - INFO [main:QuorumPeerConfig@90] - Reading ...
使用Java NIO编写高性能的服务器
- 博客分类:
- java
使用Java NIO编写高性能的服务器
从JDK 1.5开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。
说来惭愧,直到JDK1.4才有这种功能,但迟到者不一定没有螃蟹吃,NIO就提供了优秀的面向对象的解决方案,可以很方便地编写高性能的服务器。
话说回来,传统的Server/Client实现是基于Thread per request, ...
如何提高Lucene的搜索速度
译自:http://wiki.apache.org/lucene-java/ImproveSearchingSpeed
这里讨论了提高基于Lucene的应用程序搜索速度的几种方法。如果你想提高索引的速度,请阅读“如何提高Lucene构建索引的速度”。
首先确定你需要加快搜索速度。这里的很多方法很容易尝试,但是有些会增加你程序的复杂性。所以请首先确定搜索速度确实太慢,而且速度问题确实是Lucene导致的。
确保你使用的是最新版本的Lucene。
使用本地文件系统。
远程文件系统搜索的速度总是会慢一些。如果你的索引必须放在远程文件系统之上,那么可以考虑把远程文 ...
hadoop 运行任务的时候突然报错:
java.io.IOException: Bad connect ack with firstBadLink 192.168.1.11:50010
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.createBlockOutputStream(DFSClient.java:2903)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient ...
could only be replicated to 0 nodes, instead of 1
hadoop 运行任务一段时间报这个错误
解决方法:
删除tmp 文件
重启集群(采用下面的方法)
bin/hadoop-daemon.sh start namenode
bin/hadoop-daemon.sh start datanode
bin/start-mapred.sh
撒的发生的asdfasdfasdfasdf