随笔分类 -  web技术

摘要:MapReduce:大型集群上的简单数据处理摘要MapReduce是一个设计模型,也是一个处理和产生海量数据的一个相关实现。用户指定一个用于处理一个键值(key-value)对生成一组key/value对形式的中间结果的map函数,以及一个将中间结果键相同的键值对合并到一起的reduce函数。许多现实世界的任务都能满足这个模型,如这篇文章所示。使用这个功能形式实现的程序能够在大量的普通机器上并行执行。这个运行程序的系统关心下面的这些细节:输入数据的分区、一组机器上调度程序执行、处理机器失败问题,以及管理所需的机器内部的通信。这使没有任何并行处理和分布式系统经验的程序员能够利用这个大型分布式系统 阅读全文
posted @ 2013-06-17 10:39 Geek_Ma 阅读(2190) 评论(0) 推荐(1) 编辑
摘要:摘要我们设计并实现了Google文件系统,它是一个可扩展的分布式分局系统,用于大型分布式数据密集型应用。它运行在便宜的普通硬件上,提供了容错处理;并为大量的客户端提供了高性能。在与之前的分布式文件系统提供相同功能的同时,我们的设计是由对我们应用的工作和技术环境的观察驱动的,无论当前还是未来,都与之前的文件系统有明显的区别。这使我们重新测试了传统的文件系统,并探索出完全不同的设计。这个文件系统完全符合我们的存储需求。作为一个存储平台在Google中得到大范围部署,用于存储服务产生和处理的数据,如搜索和需要大数据集的研发工作。目前为止最大的集群拥有几百TB的数据,存储在超过一千台机器的数千个磁盘上 阅读全文
posted @ 2013-06-09 11:44 Geek_Ma 阅读(3364) 评论(0) 推荐(2) 编辑
摘要:Bigtable研究摘要Bigtable是一个用于管理结构型数据的分布式存储系统,被设计为可扩展到很大规模:通过数以千台的机器存储PB级数据。很多Google的工程都将数据存储在Bigtable中,包括网页索引、Google Earth和Google金融。这些应用在数据量和延迟方面对Bigtable的需求很不相同。尽管这些不尽相同的需求,Bigtable能够成功的为这些Google的产品提供一个弹性的、高性能的解决方案。在这篇文章中,我们描述Bigtable提供的简单的数据模型,它能给客户端在数据布局和格式上提供动态控制,而且我们会描述Bigtable的设计和实现。一、 介绍经过过去两年半的时 阅读全文
posted @ 2013-05-30 15:57 Geek_Ma 阅读(2334) 评论(0) 推荐(4) 编辑
摘要:MongoDB的分片一、 分片簇综述分片是mongoDB扩展的一种方式。分片分割一个collection并将不同的部分存储在不同的机器上。当一个数据库的collections相对于当前空间过大时,你需要增加一个新的机器。分片会自动的将collection数据分发到新的服务器上。分片自动的均衡数据并在机器间进行负载。分片通过将写操作分发到一定数量的mongod实例上来提供额外的写能力。分片允许用户在工作集中增加潜在数量的数据。 1. 分片分片发生在分片簇中。一个分片簇由一下组件组成:shards:一个分片是一个保存一个collection子集数据的容器。每个分片可以是一个单独的mongod,也. 阅读全文
posted @ 2013-05-14 23:42 Geek_Ma 阅读(2439) 评论(7) 推荐(2) 编辑
摘要:搭建目标如下: 图:系统架构图这个系统可以提供web服务及其它查询应用服务,我用其做一个二手房信息搜集、处理及分发的系统,可以通过浏览器访问,也可以通过定制的客户端进行访问。一、安装篇1、下载安装python# wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz## tar xvfz Python-2.7.3.tgz# cd Python-2.7.3#./configure# make# sudo make install下面是一些python安装工具,可以方便的安装所缺模块python的包管理setupt... 阅读全文
posted @ 2013-02-22 11:15 Geek_Ma 阅读(3406) 评论(1) 推荐(1) 编辑
摘要:nginx事件处理流程1. 进程初始化nginx启动流程中已经对进程启动进行了简单介绍,现在对每种进程的初始化进行下介绍。(1) 总进程的初始化(这里还没有启动worker进程,所以称为总进程):作为整个进程的入口,很多公用的初始化都是在一开始完成的,先对debug(ngx_debug_init)和错误码进行初始化(ngx_strerror_init),然后解析nginx的启动命令参数,并根据参数进行进一步处理;时间相关参数初始化ngx_time_init(),如果支持正则表达式,则初始化regex相关参数ngx_regex_init,紧接着是日志相关参数(日志文件描述符等)初始化ngx_lo 阅读全文
posted @ 2013-01-11 18:17 Geek_Ma 阅读(2099) 评论(0) 推荐(0) 编辑
摘要:命令格式tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ] [ -C file_size ] [ -F file ] [ -i interface ] [ -m module ] [ -M secret ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -E spi@ipaddr algo:secret,... ] ... 阅读全文
posted @ 2013-01-07 18:28 Geek_Ma 阅读(1465) 评论(0) 推荐(0) 编辑
摘要:nginx代码分析--启动流程一、 nginx的编译安装1. configure时干的事根据configure后面跟的参数,解析auto文件夹下的文件生成Makefile文件。2. 编译时干的事ngx_modules.c文件是在编译过程中生成的,里面定义了ngx_modules[]模块数组,包含了哪些模块。(安装及配置可以参考)http://www.cnblogs.com/geekma/archive/2012/07/28/2612951.html二、 nginx启动流程1. 模块相关ngx_conf_s::module_type有四种类型: NGX_CORE_MODULE,NGX_EVENT 阅读全文
posted @ 2012-12-30 15:30 Geek_Ma 阅读(1927) 评论(2) 推荐(1) 编辑
摘要:近期由于工作需要,做了些防DDOS攻击的研究,发现nginx本身就有这方面的模块ngx_http_limit_req_module和ngx_http_limit_conn_module。一、基本介绍 1.ngx_http_limit_req_module 配置格式及说明: 设置一个缓存区保存不同key的状态,这里的状态是指当前的过量请求数。而key是由variable指定的,是一个非空的变量,我们这里使用$binary_remote_addr,表示源IP为key值。limit_req_zone $variable zone=name:size rate=rate; 指定要进行限制的... 阅读全文
posted @ 2012-09-06 12:13 Geek_Ma 阅读(6007) 评论(2) 推荐(1) 编辑
摘要:近期在写一个正文抽取的程序,基于linux平台C++,大体流程从网页获取-->网页解析-->构建变种dom树-->正文抽取算法-->结构化输出。 目前已经完成了第一个功能,调试第二、三个功能,由于互联网上的页面很多由“无证”程序员完成,所以很不规范,需要进行一些容错处理,所以比较耗时间,而且,由于之前对编码格式不了解,在解析时,对我来说编码格式的转换也是一个难题,不过应该会在不断的学习过程中慢慢解决,也算是弥补一下技术缺陷。 网页获取可以用curl库完成,很简单,主要有四个函数: 1.CURL *curl_easy_init( ) This function must 阅读全文
posted @ 2012-08-15 16:10 Geek_Ma 阅读(2612) 评论(0) 推荐(0) 编辑
摘要:Squid研究记录Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid主要设计用于在Unix一类系统运行。 Squid的发展历史相当悠久,功能也相当完善。除了HTTP外,对于FTP与HTTPS的支援也相当好,在3.0 测试版中也支援了IPv6。 ----摘自“开源中国社区”下面是从安装,到配置的整个过程,并对.. 阅读全文
posted @ 2012-08-06 14:57 Geek_Ma 阅读(766) 评论(0) 推荐(0) 编辑
摘要:Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、腾讯,另外知名的微网志Plurk也使用nginx。 ----摘自“开源中国社区”下面是从安装,到配置的整个过程,并对其中的一些参数进行粗浅的解释1、下载安装 先. 阅读全文
posted @ 2012-07-28 11:27 Geek_Ma 阅读(593) 评论(0) 推荐(0) 编辑
摘要:一、需求Nginx以其高并发处理能力,CPU和内存的低占用,被越来越多的用来作为前端接入服务器,对于访问量一般的网站或者web服务器来说,可以在不配置lvs的情况下,由两台nginx服务器,运用keepalived实现两台服务器的主备配置(也可以实现互为主备),来保证服务器的可靠性。二、架构图图:架构图三、Keepalived下载、安装及配置1.下载及安装#wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz#tar xvfz keepalived-1.2.2.tar.gz#cd keepalived-1.2.2#./c 阅读全文
posted @ 2012-06-30 17:53 Geek_Ma 阅读(1848) 评论(0) 推荐(0) 编辑