摘要:
轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统作者: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)
浙公网安备 33010602011771号