摘要: 本文是从Message Queue Shootout!这篇文章翻译而来。http://www.aqee.net/message-queue-shootout/我花了一周的时间评估比较了一下各种消息队列产品,非常的有趣。我做这个事的动机是因为一个客户有一个很高性能需求。他们的消息信息突破了1百万个并发。目前他们使用的是SQL server,并不理想,我建议他们使用消息队列服务器。为了对一些相似的候选产品获得一个全面的但是粗浅的性能上的了解,我们它们放在一起做了个测试。我让每个消息产品各发送和接受1百万千条1K的消息。测试准备的有些仓促,我并没有修改任何的配置,只是快速的看了一下它们的安装文档,安 阅读全文
posted @ 2012-01-19 13:52 陈峰 阅读(227) 评论(0) 推荐(0)
摘要: Home Tutorials Trainings Books Social ... 阅读全文
posted @ 2012-01-17 15:33 陈峰 阅读(2276) 评论(0) 推荐(0)
摘要: A Million-user Comet Application with Mochiweb, Part 2http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-2Written on 23 October 2008InPart 1, we built a (somewhat useless) mochiweb comet application that sent clients a message every 10 seconds. We tuned the Linux ker 阅读全文
posted @ 2012-01-17 10:07 陈峰 阅读(473) 评论(0) 推荐(0)
摘要: A Million-user Comet Application with Mochiweb, Part 1http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1Written on 15 October 2008In this series I will detail what I found out empirically about how mochiweb performs with lots of open connections, and show how to bu 阅读全文
posted @ 2012-01-17 10:05 陈峰 阅读(359) 评论(0) 推荐(0)
摘要: Michael G. NollMy digital moleskineHOMEABOUT MECONTACTBLOGTUTORIALSPROJECTSPUBLICATIONSPHOTOGRAPHYCOOKIE MONSTER FOR XMLHTTPREQUESTRUNNING HADOOP ON UBUNTU LINUX (MULTI-NODE CLUSTER)RUNNING HADOOP ON UBUNTU LINUX (SINGLE-NODE CLUSTER)WRITING AN HADOOP MAPREDUCE PROGRAM IN PYTHONRunning Hadoop On Ubu 阅读全文
posted @ 2012-01-10 11:01 陈峰 阅读(520) 评论(0) 推荐(0)
摘要: 用Mochiweb打造百万级Comet应用,第三部分http://hi.baidu.com/lzhts/blog/item/6c882c38a255113eb9998f65.html--2011年08月19日 星期五 13:37原文:A Million-user Comet Application with Mochiweb, Part 3参考资料:Comet--基于 HTTP 长连接、无须在浏览器端安装插件的“服务器推”技术为“Comet” MochiWeb--建立轻量级HTTP服务器的Erlang库 在这个系列的第一部分 和第二部分 展示了怎样用mochiweb构建一个comet应用,怎. 阅读全文
posted @ 2012-01-06 18:01 陈峰 阅读(384) 评论(0) 推荐(0)
摘要: Posts - 71 Articles - 6 Comments - 7 [集]erlang常用配置文件收集http://www.cnblogs.com/gordonchao/archive/2011/02/25/1964679.html1、在disc_copy类型的表时,有两个参数影响出现Mnesia is overloaded: {dump_log, write_threshold}错误默认参数是dump_log_write_threshold 50000 -mnesia dc_dump_limit 40, 可以用下面命令修改这俩参数:erl -mnesia dump_log_... 阅读全文
posted @ 2012-01-06 17:55 陈峰 阅读(534) 评论(0) 推荐(0)
摘要: Mnesia Table Fragmentation http://erlang.open-source-related.info/erlang-formula/Erlang-Community-Mnesia-Table-Fragmentation-Trapexit-a-618.htmlContents1Overview2Requirements3Sample Fragmented Table4Start an Erlang node5Create the Fragmented table with 20 table fragments6Data operations7Add records. 阅读全文
posted @ 2012-01-06 16:39 陈峰 阅读(401) 评论(0) 推荐(0)
摘要: 如何“打败”CAP定理http://www.programmer.com.cn/9260/作者: baiyuzhong分类:云计算, 高端视点 阅读:17,223 次添加评论文 / Nathan Marz 译 / 方建CAP定理是数据系统设计的基本理论,目前几乎所有的数据系统的设计都遵循了这个定理。但CAP定理给目前的数据系统带来了许多复杂的、不可控的问题,使得数据系统的设计越来越复杂。Twitter首席工程师、Storm的作者Nathan Marz在本文中通过避开CAP定理带来的诸多复杂问题,展示了一个不同于以往的数据系统设计方案,给我们的数据系统设计带来了全新的思路。CAP定理指出,一个. 阅读全文
posted @ 2011-12-30 09:38 陈峰 阅读(264) 评论(0) 推荐(0)
摘要: Parsing Text and Binary Files With Erlang地址如下:http://wagerlabs.com/blog/2008/02/03/2011-12-06-parsing-text-and-binary-files-with-erlang/Feb 3rd, 2008Erlang originated in the telecommunications industry where one of the major tasks is conversion of text and binary data from one format to another. Th. 阅读全文
posted @ 2011-12-27 17:27 陈峰 阅读(591) 评论(0) 推荐(0)
摘要: 轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统作者:Joel Reymont译文:神宗冥浩 ( chao.yan<at>imperial.ac.uk )原地址:http://www.devmaster.net/articles/mmo-scalable-server/http://blog.csdn.net/senzung/article/details/579786]!!转贴请注明出处!!<译者序>: 本文是DevMaster.net上的一篇精华文章,也被很多相关E文论坛转载。翻译这篇文章基本是个冲动,因为我刚刚结束了这周的programming test, 阅读全文
posted @ 2011-12-26 19:09 陈峰 阅读(534) 评论(0) 推荐(0)
摘要: http://hideto.iteye.com/blog/232618前面几篇文章里谈到了Erlang的gen_tcp网络编程和Erlang/OPT的gen_server模块,现在让我们将它们两者绑定在一起大多数人认为“服务器”意味着网络服务器,但Erlang使用这个术语时表达的是更抽象的意义gen_serer在Erlang里是基于它的消息传递协议来操作的服务器,我们可以在此基础上嫁接一个TCP服务器,但这需要一些工作网络服务器的结构大部分网络服务器有相似的架构首先它们创建一个监听socket来监听接收的连接然后它们进入一个接收状态,在这里一直循环接收新的连接,直到结束(结束表示连接已经到达. 阅读全文
posted @ 2011-12-26 18:06 陈峰 阅读(531) 评论(0) 推荐(0)
摘要: OTP Design Principles: Supervisor Behaviourhttp://hideto.iteye.com/blog/232618 Supervisor Behaviour是一个用来实现一个supervisor进程来监控其他子进程的模块子进程可以是另一个supervisor,也可以是一个worker进程worker进程一般使用gen_event,gen_fsm或gen_server behaviour来实现一个使用该模块来实现的supervisor有一个接口方法的标准集,包括跟踪和错误报告的功能supervisor用来构建一个分层进程结构,称为supervision. 阅读全文
posted @ 2011-12-26 17:35 陈峰 阅读(458) 评论(0) 推荐(0)
摘要: http://erlang.shiningray.cn/otp-design-principles/overview.html#overview在Erlang/OTP中有一个基本概念叫监督树。这是一种建立在督程与佣程思想上的进程结构化模型。佣程(worker)是进行计算的进程,也就是说,它们进行实际的工作。督程(supervisor)是监视工作者行为的进程。监督者可以重启工作者如果出现了什么问题.监督树是一种将代码分成监督者和工作者的层次安排,这样才能设计和编写可容错的软件。上图中,方框提供监督,圆圈是工作者。行为在监督树中,很多进程有着相似结构,遵循类似的模式。例如,督程的结构都很相 似。. 阅读全文
posted @ 2011-12-26 17:04 陈峰 阅读(490) 评论(0) 推荐(0)
摘要: Erlang之IO编程 http://www.blogjava.net/killme2008/archive/2007/09/27/148747.html--Erlang用于操纵文件I/O的模块有:file模块:打开、读、写、关闭文件已经操作目录的方法基本都在这里filename模块:提供平台独立方式用于操纵文件名filelib模块:file模块的扩展,提供了更多的实用工具,在file模块基础上构建io模块:一系列用于操作打开的文件的方法,解析格式、格式化输出等等。1.打开文件:{ok,F}=file:open("data1.dat",read). %读模式打开{ok,F} 阅读全文
posted @ 2011-12-26 13:42 陈峰 阅读(312) 评论(0) 推荐(0)
摘要: 在 阅读全文
posted @ 2011-12-26 11:49 陈峰 阅读(421) 评论(0) 推荐(1)
摘要: 杂项前二章讲了如何启动数据库,如何构建数据库,接下来会为讲一些创建分布式容错数据所需的高级特征:索引分布式和容错表分段本地内容表无磁盘节点高级方案管理调用应用程序并行进程原形研究基于对象的编程1、索引如果数据添加索引,那位定位会很快,如果没有索引,就需要遍历表,可能会消耗较长时间。Mnesia提供了如下两个函数操作索引:mnesia:add_table_index(Tab, AttributeName)mnesia:delete_table_index(Tab,AttributeName)可能通过如下函数进行索引查找:mnesia:index_read(Tab, SecondaryKey, . 阅读全文
posted @ 2011-12-26 09:43 陈峰 阅读(2530) 评论(0) 推荐(0)
摘要: mnesia数据库学习笔记三事务及其它访问事务属性,包括原子性,一致性,隔离性,持久性锁脏操作记录名字与表名字活动概念与访问上下文嵌套事务模式匹配Iteratoin1、事务属性Mnesia事务就是将一系列数据库操作封装在一个函数块中。函数块作为一个事务进行运行所有叫作函数对象。保作将影响到所有相关节点上。Mnesia提供了如下重要属性:事务函数内部不涉及操作在其它事务中,当它在执行一系列表操作时事务保证了要么在所有节点上操作成功,要么失败但没有在任何节点上产生负作用提供了Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Durability(持久性. 阅读全文
posted @ 2011-12-22 14:21 陈峰 阅读(4777) 评论(0) 推荐(1)
摘要: mnesia数据库学习笔记二创建一个mnesia数据库定义方案数据模型启动Mnesia创建新表1、定义方案(schema)Mnesia 系统配置是在Schema中描述的。Schema数据表中的数据只能通过其相关函数进行访问和修改。Mnesia允许动态配置其内容。方案函数mnesia:create_schema(NodeList)该函数用于初始化新的空方案,在mnesia启动之前,mnesia是一个真正分布式DBMS,schema是基于mnesia所有节点的一个系统表。NodeList节点必须都没有schema,并且都没有启动mnesia.mnesia:delete_schema(DiscNo. 阅读全文
posted @ 2011-12-21 15:48 陈峰 阅读(2550) 评论(0) 推荐(0)
摘要: 1、模块模块是Erlang中代码的基本单元,我们编写的所有函数都存于模块之中。模块文件存放在以.erl为扩展名的文件中。模块名字与文件名需一致,运行前先得把文件编译成.beam文件。简单模块文件如下:geometry.erl-module(geometry).-export([area/1]).area({rectangle,Width,Ht}) ->Width * Ht;area({circle,R}) -> 3.14159 * R * R.2、Erlang console切换目录cd("c:/work")进行切换目录3、funfun就是匿名函数。Z = fu 阅读全文
posted @ 2011-12-21 11:41 陈峰 阅读(503) 评论(0) 推荐(0)