- 浏览: 581442 次
- 性别:
- 来自: 北京
最新评论
-
JamAndVariousAbalone:
存储方式的不同吧。gb_tree是平衡树,list是线性结构。 ...
gb_trees和lists的访问效率相差很大 -
genesislive:
eporf:analyse()写错了,应该改成eprof:an ...
Erlang程序的性能测试工具(1) -
vampirezh:
高手啊 求带 ! 请列出带徒标准
Erlang的未来(2008) -
aiquantong:
great!
rebar工具使用备忘录 (1) -
wccxiaoan:
basho的资源 都没办法打开,不过还是有帮助,谢谢。
关于webmachine
文章列表
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
基于mochiweb,REST风格的erlang Web容器。流程图见docs目录下的http-headers-status-v3.png。
它适合构建符合REST风格的面向资源的web应用,不适合那种需要HTTP长连接的 ...
推荐书
Pro puppet
无法忍受
Puppet Cookbook的排版
这里有个更好的Puppet Cookbook
1. 基本概念
puppet是一个CS结构的配置管理工具,用ruby开发的。
作为服务器端的S,puppet的术语叫master
作为客户端的C,puppet的术语叫agent
在每台机器上所做的配置,puppet术语叫configuration
1.1 ubuntu下的启动
启动puppet master:
master# service puppetmaster start
为了调试方便,也可以让master在控制台上直接输出日志方便察看:
puppet m ...
因为linux的systemtap和utrace需要自己重新编译linux内核,实在不想折腾。听闻新FreeBSD将全面使用clang替代gcc,在加上FreeBSD最早就有了对dtrace的支持,所以这两天开始了解FreeBSD是怎么回事。
0. 更新机制
许多软件开发都很活跃,发布 ...
1. 对自定义behaviour的警告
有洁癖的可能无法忍受这种警告,
Callback info about the my_module behaviour is not available
只能加这个参数
-Wno_undefined_callbacks
dialyzer --src ./src -Wno_undefined_callbacks
参考:
http://comments.gmane.org/gmane.comp.lang.erlang.general/58259
2. 参数化模块的警告
暂时没有办法
只能去掉spec了,或者以注释的方式,或者每个fun的spec前加 ...
erlang字符串可以用list结构存放ASCII编码(0~255)的整数,这是传统的方式,缺点是浪费内存,而且对unicode无效。又因为list实际上用的是一种链表结构,每个字符都带一个指针(它指向下一个字符的地址)。
节省内存的话用binary存放字符串,它有很多有优点,例如可以用utf8编码存放unicode字符。binary字符串内部用字符串的首地址和字符串的长度(而不是\0结束符)标识。这有性能和内存节省上的好处。
最后,还可以用iolist表示字符串。iolist特殊的地方是它实际上是个引用,它在底层并不向list和binary那样有个完整的字符串数据,组成它的字符串,其内容实 ...
局域网内有多台开发机器,因为网络的原因,从github拉取更新时总是失败,这台成功了那台又不行;还有个原因是网络速度,拉取的工程有81M,网络传输也不快。于是琢磨在本地建个github的镜像库,所有机器都统一clone自这个本地镜像库里,然后由这个镜像库负责与github更新。
cd /storage/mirror_github/
git clone --mirror git://github.com/xxx/yyy.git
这样在本地/storage/mirror_github/yyy.git建立了github上yyy项目的一个镜像了,这是一个裸版本库(裸版本库一般约定以.git为后缀) ...
1. binary数据是可以在不同进程间共享的
当然这些进程都在同一Erlang节点上。
这与普通term不同,后者作为消息在进程间传递时是要在接收进程中做拷贝的(当然atom数据例外,它们也不会做拷贝)。摘一段原文在这里:
All data in ...
有两种情况需要考虑使用进程池管理erlang进程。
一种是普通erlang进程,很便宜,一次可以并行很多(默认32K,当然可以调整vm参数设置更大),但是这不意味着可以无限制的使用,实际上轻松的达到上限是很容易的(想想发明国 ...
很遗憾在2011年12月的时候,basho宣布不再提供对luwak的支持。因为luwak有设计缺陷。
引用From a technical standpoint, Luwak has some problems with the way in which files are chunked and manifest of those chunks is maintained.
Specifically, there is no good way of knowing w ...
一、上手
各个操作系统平台上的安装说明:Installation
新手可以先看riak快速教程上手。
二、探索
然后,可以从riak的doc目录下的文档开始探索
0. 基本架构说明:architecture
1. 系统配置指导: basic-setup
riak系统的配置包括对erlang虚拟机运行参数的配置和对riak系统运行时的配置,分别对应着etc目录下的vm.args和app.config两个配置文件,关于这两个配置文件更详细的说明见Configuration Files
理解riak系统的这些参数需要对riak的一些基本概念有所了解:从这里开始了解riak基本概念
2 ...
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
三、Riak Core系统的数据的分布和处理步骤
从原理上讲,Riak Core通过hash算法将数据随机均匀的分布在一个环上,数据的hash值也就是在环上的位置(源码中常 ...
二、 基于Riak Core分布式应用开发
开发一个基于Riak Core的分布式数据处理系统,意味着它要处理的数据将在hash后映射到一个环上,也就是说这些数据分布在各个数据节点的partition上,数据的处理也在各个partition上进行。
显然每 ...
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
Riak Core采用一致性哈希算法分布数据。
《分布式系统原理介绍》第2节 分布式系统原理 by刘杰 写道“所谓分布式系统顾名思义就是利用多台计算机协同解决 ...
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
基于Riak Core的开发指南
1. hello, Riak Core
从riak-core-first-multinode开始一个hello world应用(简称mfmn):访问这里。
这个Riak Core应用有个最简单的vnode,它仅实现了一个ping功能,当vnode收到ping命令时会返回这个vnode管理的partition在ring中的整数值。
该文演示了使用一个rebar定制的riak_core_multinode模版构建一个3节点的hello world级别的Riak C ...
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
〇、介绍
riak是basho(访问这里:关于basho)参照dynamo(pdf格式的论文在这里,html格式的看这里,中文翻译见这里)实现的一个分布式NoSQL数据存储系统,在实现过程中开发者们发现有必要也有可能把分布式系统管理层与数据存储层分离开来,前者就形成了现在的Riak Core。
Riak Core是riak系统实现过程中最重要的产品,此外还有其它副产品,如用与构建erlang应用系统的Make工具:rebar,一个日志工具lager,REST的webmachine,一个kv数据库bit ...