`
文章列表
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等。在现实的应用系统中也有好多应用,比如像当当网 ...

高并发网站的架构

    博客分类:
  • web
高并发网站的架构. 最近在搭建搜索前端的用户搜索平台,遇到高并发问题,同时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编写高性能的服务器 从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
Global site tag (gtag.js) - Google Analytics