============================
Swift Architectural Overview
============================
.. TODO - add links to more detailed overview in each section below.
------------
Proxy Server
------------
The Proxy Server is responsible for tying together the rest of the Swift
architecture. For each request, it will look up the location of the ac..
最近在Quora上有人提到一个问题,有关Hadoop分布式文件系统和OpenStack对象存储的不同。
问题原文如下:
“HDFS (Hadoop分布式文件系统)和OpenStack对象存储(OpenStack Object Storage)似乎都有着相似的目的:实现冗余、快速、联网的存储。什么样的技术特性让这两种系统因而不一样?这两种存储系统最终趋于融合是否大有意义?”
问题提出之后,很快有OpenStack的开发者进行了回复。本文在此摘抄了前..
http://www.blogjava.net/killme2008/archive/2011/11/08/363238.html
Yahoo! s4和Twitter storm的粗略比较
Items\Projects
Yahoo! s4
Twitter Storm
协议
Apache license 2.0
Eclipse Public License 1.0
开发语言
..
Twitter Storm入门
本文翻译自: https://github.com/nathanmarz/storm/wiki/Tutorial
在这个教程里面我们将学习如何创建Topologies, 并且把topologies部署到storm的集群里面去。Java将是我们主要的示范语言, 个别例子会使用python以演示storm的多语言特性。
准备工作
这个教程使用storm-starter项目里面的例子。我推荐你们下载这个项目的代码并且跟着教程一起做。先读一下:配置storm开发环境和新建一个strom项目这两篇文章把你的机器设置好。
一个Storm集群的基本组件
storm的集群表面上看和hadoop的集群非常像..
Twitter Storm 实时数据处理框架分析总结
Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架(原来是由BackType开发,后BackType被Twitter收购,将Storm作为Twitter的实时数据分析)。实时数据处理的应用场景很广泛,如上篇文章介绍S4时所说的个性化搜索广告的会话特征分析。而Yahoo当初创建S4项目的直接业务需求就是为了在搜索引擎的‘cost-per-click’广告中,能根据当前情景上下文(用户偏好,地理位置,已发生的查询和点击等)来估计用户点击的可能性并实时做出调整。
这种高可拓展性,能处理..
流式计算介绍
MapReduce Hold不住?
本文系统地介绍和分析比较了业界主流的Yahoo! S4、StreamBase和Borealis三种流式计算系统,希望读者能从这些系统的设计中领悟到不同场景下流式计算所要解决的关键问题。
背景
非实时计算几乎都基于MapReduce计算框架,但MapReduce并不是万能的。对于搜索应用环境中的某些现实问题,MapReduce并不能很好地解决问题。
商用搜索引擎,像Google、Bing和Yahoo!等,通常在用户查询响应中提供结构化的Web结果,同时也插入基于流量的点击付费模式的文本广告。为了在页..
基于微软Dryad分布式并行计算平台云技术的研究
微软于2010年12月21日发布了分布式并行计算基础平台——Dryad测试版,成为谷歌MapReduce分布式数据计算平台的竞争对手。它可以使开发人员能够在Windows或者.Net平台上编写大规模的并行应用程序模型,并能够在单机上所编写的程序很轻易的运行在分布式并行计算平台上,程序员可以利用数据中心的服务器集群对数据进行并行处理,当程序开发人员在操作数千台机器时,而无需关心分布式并行处理系统方面的细节。本文将重点讲述微软最新Dryad平台方面的功能原理以及应用。..
此选项指定函数close对面向连接的协议如何操作(如TCP)。内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。
SO_LINGER选项用来改变此缺省设置。使用如下结构:
struct linger {
int l_onoff; /* 0 = off, nozero = on */
int l_linger; /* linger time */
};
有下列三种情况:
1、设置 l_onoff为0,则该选项关闭,l_linger的值被忽略,等于内核缺省情况,close调用会立即返回给调用者,..
Storm配置项详解
什么是Storm?
Storm是twitter开源的一套实时数据处理框架,基于该框架你可以通过简单的编程来实现对数据流的实时处理变换。
Storm的配置文件一般存放在$STORM_HOME/conf下,通常名为storm.yaml,它符合yaml格式要求。
配置项详解:
以下是从storm的backtype.storm.Config类中搜集的所有storm支持的配置项(Based storm 0.6.0):
配置项
配置说明
storm.zookeeper.servers
ZooKeeper服务器列表
..
分布式文件系统Ceph调研1 – RADOS
Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生产环境。Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。2010年3 月,Linus Torvalds将Ceph client合并到内 核2.6.34中。
Ceph中有很多在分布式系统领域非常新颖的技术点,对解决分布式文件系统中一些常见的问题的研究非常有指导意义。所以值得研究。
..
多线程死锁的Gdb排查案例
事由:完成的服务器程序会在运行几天后,突然所有的服务停止,并导致CPU的占用率突高
缘由:由于把服务器重启后服务重新变为正常,初步判断原因是某种原因造成了死循环,或者是线程锁产生了死锁现象
排查过程:使用gdb调试出问题的服务器程序,使用info threads查看各个线程,使用t n选择某个线程,使用bt查看当前的线程状况,发现线程1和线程2没有问题,线程3-5都在锁定状态停止
线程3:
mutex1锁定
rwlock1锁定
线程4:
rwlock1锁定
mutex2锁定
线程5:
mutex1锁定
判断:
因为..
各种数据类型的相互转换
char * 与 const char *的转换
char *ch1="hello11";
const char *ch2="hello22";
ch2 = ch1;//不报错,但有警告
ch1 = (char *)ch2;
char 转换为 QString
其实方法有很多中,我用的是:
char a='b';
QString str;
str=QString(a);
QString 转换为 char
方法也用很多中
QString str="abc";
char *ch;
ch = str.toLatin1.data();
QByteArray 转换为 char *
char *ch;//不要定义成ch[n];
QByteArray byte;
ch = byte.data();
..
epoll使用(2)-- 奇怪的异步使用方式
epoll的EPOLLIN和EPOLLOU为什么不能同时关联
那么在操作EPOLLIN时,发生的发送数据操作会不会响应?
在操作EPOLLOUT时,客户机发送的来的数据会不会丢失?
==================================================================================
以下转自:http://blog.csdn.net/roen/archive/2007/03/21/1536148.aspx
(1)导言:
首 先,我强烈建议大家阅读Richard Stevens著作《TCP/IP Illustracted Volume 1,2,3》和《UNIX Ne..
Linux Epoll ET模式EPOLLOUT和EPOLLIN触发时刻
ET模式称为边缘触发模式,顾名思义,不到边缘情况,是死都不会触发的。
EPOLLOUT事件:
EPOLLOUT事件只有在连接时触发一次,表示可写,其他时候想要触发,那你要先准备好下面条件:
1.某次write,写满了发送缓冲区,返回错误码为EAGAIN。
2.对端读取了一些数据,又重新可写了,此时会触发EPOLLOUT。
简单地说:EPOLLOUT事件只有在不可写到可写的转变时刻,才会触发一次,所以叫边缘触发,这叫法没错的!
其实,如果你真的想强制触发一次,也是有办法的,直接调用epoll_ctl..
Linux获取当前时间
最近在查关于Linux下时间编程的问题:
1. Linux下与时间有关的结构体
struct timeval
{
int tv_sec;
int tv_usec;
..
关于Qt中使用的工程文件(.pro文件)
第一种常用方式:
#模块设置,一般设置为app(生成应用程序,默认),subdirs(生成makefile文件编译subdirs指定的子文件夹),lib(生成库文件)
TEMPLATE = app
#指定生成的应用程序放置的目录
DESTDIR += ../bin
#指定生成的应用程序名
TARGET = pksystem
#添加或减少CONFIG的配置模块,一般采用默认即可,但是除去debug_and_release模块不会生成debug和release文件夹
#CONFIG += release
CONFIG -= debug_and_release
#指定uic命令将.ui文件转化成ui_*.h文件的存放的目录
UI_DIR ..
http://www.tbdata.org/archives/1833
http://dongxicheng.org/
大家好!我是陈国庆,今天是圣诞节,首先祝大家节日快乐。今天我主要讲两个方面的内容,一是NoSQL的应用场景,另一个是Cassandra架构实现分析。作为一个NoSQL非常接触的应用,我们分析它的架构,看看它怎么做的。看看它的可操作一致性等等的优点。
为了让大家很清楚的了解NoSQL,我们先从SQL开始。它就是我们说的关系数据库,优点非常明显,经过关系的直观表达,本身我们的现实世界里面就是一个关系世界,所以用关系世界表达我们这个逻辑,也比较容易理解。另外对这种关系数据库而言,发展的时间比较长,针对我们应用方而言有比较..
Nosql——数据库革命
一、NoSQL基础知识。1.关于NoSQL.在"NoSQL"一词,实际上是一个叫Racker的同事创造的,当约翰埃文斯埃里克要组织一次活动来讨论开源的分布式数据库。非分布式NoSQL数据库包括CouchDB,MongoDB,Neo4j,Redis,和Toky
一、NoSQL基础知识
1.关于NoSQL
在“NoSQL”一词,实际上是一个叫Racker的同事创造的,当约翰埃文斯埃里克要组织一次活动来讨论开源的分布式数据库。这个名称和概念都由此而来。
有些人反对NoSQL术语,因为它听起来像我们定义自己是..
分布式文件系统均为Client/Server架构。数据保存在服务器端,而客户端的应用程序能够像访问本地文件系统一样访问位于远程服务器上的文件。在client通常都对文件数据进行缓存,以提高读写性能和系统可扩展性。然而,缓存和一致性总是一对矛盾,一致性的实现往往比较复杂,这方面的研究有大量论文,在此不再赘述。本文仅限于讨论服务器端的架构,分析其面临的挑战和相应的解决方法。
一种技术总是带有时代的烙印。以时间为线索,可以将分布式文件系统的发展历程大致分为3个阶段:
l 网络文件系统(..
NoSQL和SQL之间真正的差异是什么?实质上,是因为不同的访问模式导致了NoSQL和SQL可扩展性和性能上的不同。
NoSQL只允许数据在受限的预定义模式访问。例如DHT (Distributed Hash Table)通过hashtable API访问。其他NoSQL数据服务访问模式同样受限。因此可扩展性和性能结构是可预测和可靠的。
而在SQL中,访问模式预先是不知道的,SQL是一种通用语言,允许数据以各种方式访问,程序员也对SQL语句的执行能力控制有限。
换句话说,在SQL中,数据模型不执行特定的工作方式与数据。强调建立数据完整性、简洁性、标准化和抽象化。这对于所..
OpenStack安全性分析:开源云软件的利与弊
有人要求我对OpenStack开源云计算平台进行简要的安全性分析,并简要分析我们的企业是否应该把开源云计算平台作为云基础设施建设的基础去追求。我的初步评估是,像Apache和 Linux,平台的开放性让我们能迅速发现和修复安全漏洞,这可以降低溢出的可能性。你们同意吗?还有其他值得考虑的OpenStack安全点(利与弊)吗?
OpenStack是一个倡导执行简便、功能丰富、扩展性强的基础设施即服务云计算平台。于2010年7月由托管供应商Racksp..
最近在Quora上有人提到一个问题,有关Hadoop分布式文件系统和OpenStack对象存储的不同。
问题原文如下:
“HDFS (Hadoop分布式文件系统)和OpenStack对象存储(OpenStack Object Storage)似乎都有着相似的目的:实现冗余、快速、联网的存储。什么样的技术特性让这两种系统因而不一样?这两种存储系统最终趋于融合是否大有意义?”
问题提出之后,很快有OpenStack的开发者进行了回复。本文在此摘抄了前两名回复进行翻译,以供各位参考。
排名第一的答案来自RackSpace的OpenStack Swift开发者Chuck Thei..
云计算是个IT界火热的词汇,开源云计算更是被认为是IT的趋势。我们熟知的几个IT巨头的云计算平台,如亚马逊EC 2、IBM的蓝云、微软的Azure、Sun Cloud等,那么开源云计算的平台又有哪些呢?以下列举了开源中国社区收录的5款知名的开源云计算平台。
1、AbiCloud企业级开源云计算平台
Abiquo公司推出的一款开源的云计算平台——“abiCloud”,使公司能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施 (包括虚拟服务器,网络,应用,存储设备等等)。AbiCloud较之同类其他产品的一个主要的区别在于其..