随笔分类 - Erlang
[转]A Million-user Comet Application with Mochiweb, Part 3
摘要:http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-3InPart 1andPart 2of this series we built a comet application using mochiweb, and learned how to route messages to connected users. We managed to squeeze application memory down to 8KB per connection. We did ye olde
阅读全文
posted @ 2012-01-17 10:08
陈峰
[转]A Million-user Comet Application with Mochiweb, Part 2
摘要: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
阅读全文
[转]A Million-user Comet Application with Mochiweb
摘要: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
阅读全文
[转]用Mochiweb打造百万级Comet应用,第三部分
摘要:用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应用,怎.
阅读全文
[转]Erlang 大量写入出警报
摘要: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_...
阅读全文
[转]分段表
摘要: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.
阅读全文
[转]Parsing Text and Binary Files With Erlang
摘要: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.
阅读全文
[转]轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统
摘要:轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统作者: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,
阅读全文
[转]Erlang:一个通用的网络服务器
摘要:http://hideto.iteye.com/blog/232618前面几篇文章里谈到了Erlang的gen_tcp网络编程和Erlang/OPT的gen_server模块,现在让我们将它们两者绑定在一起大多数人认为“服务器”意味着网络服务器,但Erlang使用这个术语时表达的是更抽象的意义gen_serer在Erlang里是基于它的消息传递协议来操作的服务器,我们可以在此基础上嫁接一个TCP服务器,但这需要一些工作网络服务器的结构大部分网络服务器有相似的架构首先它们创建一个监听socket来监听接收的连接然后它们进入一个接收状态,在这里一直循环接收新的连接,直到结束(结束表示连接已经到达.
阅读全文
[转]erlang 监督树
摘要: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.
阅读全文
[转]理解gen_server behaviour
摘要:http://erlang.shiningray.cn/otp-design-principles/overview.html#overview在Erlang/OTP中有一个基本概念叫监督树。这是一种建立在督程与佣程思想上的进程结构化模型。佣程(worker)是进行计算的进程,也就是说,它们进行实际的工作。督程(supervisor)是监视工作者行为的进程。监督者可以重启工作者如果出现了什么问题.监督树是一种将代码分成监督者和工作者的层次安排,这样才能设计和编写可容错的软件。上图中,方框提供监督,圆圈是工作者。行为在监督树中,很多进程有着相似结构,遵循类似的模式。例如,督程的结构都很相 似。.
阅读全文
[转]Erlang之IO编程
摘要: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}
阅读全文
mnesia数据库学习笔记四
摘要:杂项前二章讲了如何启动数据库,如何构建数据库,接下来会为讲一些创建分布式容错数据所需的高级特征:索引分布式和容错表分段本地内容表无磁盘节点高级方案管理调用应用程序并行进程原形研究基于对象的编程1、索引如果数据添加索引,那位定位会很快,如果没有索引,就需要遍历表,可能会消耗较长时间。Mnesia提供了如下两个函数操作索引:mnesia:add_table_index(Tab, AttributeName)mnesia:delete_table_index(Tab,AttributeName)可能通过如下函数进行索引查找:mnesia:index_read(Tab, SecondaryKey, .
阅读全文
mnesia数据库学习笔记三
摘要:mnesia数据库学习笔记三事务及其它访问事务属性,包括原子性,一致性,隔离性,持久性锁脏操作记录名字与表名字活动概念与访问上下文嵌套事务模式匹配Iteratoin1、事务属性Mnesia事务就是将一系列数据库操作封装在一个函数块中。函数块作为一个事务进行运行所有叫作函数对象。保作将影响到所有相关节点上。Mnesia提供了如下重要属性:事务函数内部不涉及操作在其它事务中,当它在执行一系列表操作时事务保证了要么在所有节点上操作成功,要么失败但没有在任何节点上产生负作用提供了Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Durability(持久性.
阅读全文
mnesia数据库学习笔记二
摘要: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.
阅读全文
Erlang顺序型编程
摘要: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
阅读全文
mnesia数据库学习笔记一
摘要:mnesia数据库学习笔记1、基本使用流程1>mnesia:create_schema([node]). %创建方案的本地节点上。2>mnesia:start(). %启动数据库3>mnesia:create_table(funky,[]).%创建表4>mnesia:info(). %查看数据库信息在启动erlang时,erl -mnesia dir '"/dir"' 用于指定Mnesia数据存储位置。2、定义表结构,创建表% company.hrl-record(employee, {emp_no, name, salary, se
阅读全文
Erlang 入门
摘要:1、变量所有变量必须以大写字母开头。如:X Y2、模式匹配在Erlang中,=表示一个模式匹配操作, Lhs=Rhs实际是对右端求后,将结果与左端求值进行匹配。 其中如果左端为未绑定变量,则完全匹配,并赋值到左端。3、浮点数"/"永远返回浮点数, N div M 和 N rem M是用于整数除和取余数。如:0.324、原子在Erlang中,原子用来表示不同非数字常量值;原子是以一串以小写字母开头,后跟数字字母或下划线或邮件符号的字符串;使用单引号引起来的字符串也是原子。如:red、cat、joe@somhost、a_lang_name、'an atom'5、
阅读全文
浙公网安备 33010602011771号