51CTO博客开发抚琴煮酒
1. 显示字符串 名称:show_str 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 应用举例:在屏幕的8行3列,用绿色显示data段中的字符串。 直接贴代码: assume cs:code data segment db 'Welcome to&nb
编程:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串'welcome to masm!'。 直接贴代码: assume cs:codesg data segment db 'welcome to masm!' &nb
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/08/17/memcached-pdf/以及本声明。 memcached全面剖析的连载已经结束,翻译工作也已经全部完成了。 为了方便阅读,现将原来的翻译结果打包成PDF文档。可在本文末尾处下载。 原来的各篇翻译的地址如下: 第1章:http://tech.
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/07/31/memcached-005/以及本声明。 发表日:2008/7/30 作者:长野雅广(Masahiro Nagano) 原文链接:http://gihyo.jp/dev/feature/01/memcached/0005
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/07/24/memcached-004/以及本声明。 发表日:2008/7/23 作者:长野雅广(Masahiro Nagano) 原文链接:http://gihyo.jp/dev/feature/01/memcached/0004
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/07/16/memcached-003/以及本声明。 下面是《memcached全面剖析》的第三部分。 发表日:2008/7/16 作者:前坂徹(Toru Maesaka) 原文链接:http://gihyo.jp/dev/feature/0
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/07/11/memcached-002/以及本声明。 下面是《memcached全面剖析》的第二部分。 发表日:2008/7/9 作者:前坂徹(Toru Maesaka) 原文链接:http://gihyo.jp/dev/feature/01
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/07/10/memcached-001/以及本声明。 翻译一篇技术评论社的文章,是讲memcached的连载。fcicq同学说这个东西很有用,希望大家喜欢。 发表日:2008/7/2 作者:长野雅广(Masahiro Nagano) 原文链接
原文:http://www.iteye.com/topic/344172 最后看看memcached网络事件处理的最核心部分- drive_machine 需要铭记于心的是drive_machine是多线程环境执行的,主线程和workers都会执行drive_machine static void drive_machine(conn *
原文: http://www.iteye.com/topic/344172 下面看看thread_init是怎样启动所有workers线程的,看一下thread_init里的核心代码 void thread_init(int nthreads, struct event_base *main_base) {&nb
原文:http://www.iteye.com/topic/344172 下面对memcached的线程模型做下简单分析,先看下memcahced启动时线程处理的流程。 memcached的多线程主要是通过实例化多个libevent实现的,分别是一个主线程和n个workers线程 无论是主线程还是workers线程全部通过libevent管理网络事件,
作者:gq913 原文:http://gq913.iteye.com/blog/157276 JVM调优总结 最近总结的一些东西,基本上是网上一些资料的汇总。 一、相关概念 基本回收算法 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引
Linux 技巧:让进程在后台可靠运行的几种方法 我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败。 这是由于在用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。 解决办法有两种:让进程忽略HUP信号,或让进程运行在新的会话里从而成为不属于此终端的子进程。 下
序列化 这篇文章是关于序列化方法在storm 0.6.0版及之前版本中是如何工作的。0.6.0版之前,storm使用一种不同的序列化方法,参见 Serialization (prior to 0.6.0)。 元组可由任何一种类型的对象组成。由于storm是一个分布式系统,当对象在任务之间传递时,它需要知道如何序列化和反序列化这些对象。 Storm使用Kryo进行序列化。Kryo是一
在生产集群运行拓扑 在生产集群运行拓扑和在本地模式运行拓扑是相似的,下面是步骤: 1) 定义拓扑(如果使用java语言定义,则使用TopologyBuilder类)。 2) 使用StormSubmitter提交拓扑到集群。StormSubmitter需要以下输入参数:拓扑名称、拓扑配置、拓扑自身。例如: Config conf = new&
Maven 要开发拓扑,你需要在classpath环境变量设置storm的相关jar文件路径。你也应把未打包的jar文件放到你项目的classpath,或使用maven来管理storm相关的开发依赖包。Storm托管在Clojars(一个maven仓库)。为了在项目中包含storm相关的开发依赖包,在pom.xml文件中添加如下代码: <repository>  
分布式RPC 分布式RPC(DRPC)的真正目的是使用storm实时并行计算极端功能。Storm拓扑需要一个输入流作为函数参数,以一个输出流的形式发射每个函数调用的结果。 DRPC没有多少storm特性,因为它是从storm的原始流,spouts,bolts,拓扑来表达一个模式。DRPC没有单独打包,但它如此有用,以至于和storm捆绑在一起。 概述 分布式
可靠消息处理 Storm保证从spout发射出来的每个消息都被完全处理。该文章描述storm如何实现消息可靠处理,从storm的可靠性特性获得好处,用户需要做哪些工作。 消息被完全处理是什么意思? 从spout发射出来的元组能触发创建数千基于它的新元组。考虑一下,例如,单词统计拓扑: TopologyBuilder builder = new Top
原文链接:http://www.programmer.com.cn/9260/ 英文原文:How to beat the CAP theorem 文 / Nathan Marz 译 / 方建 CAP定理是数据系统设计的基本理论,目前几乎所有的数据系统的设计都遵循了这个定理。但CAP定理给目前的数据系统带来了许多复杂的、不可控的问题,使得数据系统的设计越来越
口水:Memcached在2009风靡全球,现在对Memcached态度大家各自褒贬不一,话不多说进入正题。 我看到过这样一段文字 “ memcached如何处理容错的? 不处理!:) 在memcached节点失效的情况下,集群没有必要做任何容错处理。如果发生了节点失效,应对的措施完全取决于用户。节点失效时,下面列出几种方案供您选择: * 忽略它! 在失效节点被恢复或替换之前
记得在大约在2006年的时候Google出了Chubby来解决分布一致性的问题(distributed consensus problem),所有集群中的服务器通过Chubby最终选出一个Master Server ,最后这个Master Server来协调工作。简单来说其原理就是:在一个分布式系统中,有一组服务器在运行同样的程序,它们需要确定一个Value,以那个服务器
口水:Zookeeper是我目前接触过Apache开源系统中比较复杂的一个产品,要搞清楚这个东东里面的运作关系还真不是一时半会可以搞定的事,本人目前只略知皮毛之术。 ZooKeeper 是什么? ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig) 的管理员, Ap
在上一篇文章中提到了Thrift的架构、传输协议(Ref),本篇文章将对Thrift的入门实例进行介绍。 分为如下5个部分: 运行环境、安装/配置、脚本文件、创建代码、运行程序。 一、开发环境(清单1) 1.操作系统 Server-Linux / Client-WinXP 2.SDK Sun JDK
Thrift 是什么? Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传 输通信以及系统之间语言环境不同需要跨平台的特性。所以thrift可以支持多种程序语言,例如: C++, C
概念 这个页面列出了storm的主要概念和查找更多信息的链接。讨论的概述有: 1. 拓扑(Topologies) 2. 流(Streams) 3. 喷嘴(Spouts) 4. 螺栓(Bolts) 5. 流分组(Stream groupings) 6. 可靠性(Reliability) 7. 任务(Tasks)
本地模式 本地模式用进程模拟一个storm集群,对于开发和测试拓扑比较有用。本地模式运行拓扑和在集群运行拓扑大致相同。 简单地使用LocalCluster类,就能创建一个进程内(in-process)集群。例如: import backtype.storm.LocalCluster; LocalCluster cluster 
安装Storm集群 这页概述Storm集群安装和运行的步骤。如果你在AWS,你应该检出storm-deploy项目。storm-deploy完全自动化准备,配置,和在EC2上安装Storm集群 。它还为您安装Ganglia,这样就可以监视CPU,磁盘和网络使用情况。 安装Storm集群的步骤概要: 1. 安装Zookeeper集群。 2. 安装Nimbu
新建Storm项目 这页概述如何设置Storm项目用于开发。步骤如下: 1. 添加Storm的jar包到classpath。 2. 如果使用多语言,添加多语言目录到classpath。 紧跟着来看看 在Eclipse中如何设置storm-starter项目。 添加Storm的jar包到classpath 开发Storm拓扑需
设置开发环境 1.下载Storm release,解压,把解压后的/bin路径添加到PATH环境变量。 2. 为了能启动和停止远程集群上的topologies,需要在~/.storm/storm.yaml设置集群信息。 下面是这些步骤的更多细节。 什么是开发环境? Storm有两种运行模式:本地模式和远程模式。 在本地模式下,你可以在本地机器上完成topologies的开发和
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号