- 浏览: 337675 次
- 性别:
- 来自: 北京
最新评论
-
perfect_control:
真的很详细,一些东西很容易被我忽略掉了
使用fprof进行性能分析 -
leeyisoft:
http://www.erlangqa.com/ 怎么变成 “ ...
Erlang问答网站,欢迎各位提出问题,解答问题。 -
simsunny22:
4年之后我才看到 慢慢的干货
Erlang服务器内存耗尽bug跟踪过程 -
爱死我:
...
使用etop查看系统中进程信息 -
宋兵甲:
在跑这个服务的时候,每秒建立一个客户端连接,连续建立10000 ...
自己写一个tcp 通用服务器
文章列表
平时收到很多关于Erlang的问题,我都尽量一一解答,可是时间有限,毕竟还有工作在身。
于是,前段时间做了一个关于Erlang问答的网站。
一来可以继续回答关于Erlang的提问
二来内容可以归档整理,方便其它人排疑解惑
三来也相当于一个简单的社区,大家可以通过问答互相进步
请各位强力点击加入,有任何问题或建议可以跟我联系哦.
项目代码越来越多,使用erlang编译也越来越慢。无论是Makefile还是Emakefile都力不从心。使用rebar编译速度会加快,但对原有项目改动太大。
通过对make.erl(otp/lib/tools/src/make.erl)进行修改,提供一个支持多进程编译的mmake.erl。其接口和make.erl相似,只是第一个参数为并发编译数,具体看下代码吧,非常简单。
对于项目中有编译次序要求时,比如必须首先编译自定义behaviour模块,随后编译其它模块,可以通过将Emakefile中内容分成多个{mod, opts}来达到目的。mmake实现中,对于同一个{mod, opts}内的 ...
本文描述朋友Erlang服务器内存耗尽bug的解决过程。首先说明一下问题,服务器1千多人在线,16G内存快被吃光。玩家进程占用内存偏高:接下来是解决过程。第一步:查看进程数目是否正常? erlang:system_info(process_count). 进程数目合理
inet:getstat/2的用处
在游戏开发中,client和server之间需要维护一个心跳
,用来检测client的网络异常中断(如突然拔掉网线),进而进行一些清理,保存工作.严谨的服务端,除了确保客户端提交的各种请求都合法,此外还需要限制玩家发包 ...
Erlang游戏开发-协议
选择什么协议?
协议包含通讯协议和数据格式.
通讯协议
通讯协议目前常用的是:HTTP
和TCP
.其有各自的特点根据游戏的特点而进行选择.
HTTP
HTTP比较成熟,使用极其广泛.具有丰富的基础软件和工具.
对于 ...
最近项目中使用Redis比较多,非常喜欢这个小巧而强大的家伙。
准备写一个简单的系列,讲述使用Redis可以做什么,我们将充分挖掘Redis的潜能。
这是第一篇,准备用Redis作为Log汇总。
Redis介绍
Reids是一个比较高级的开源key-value存储系统,采用ANSI C实现。其与memcached类似,但是支持持久化数据存储,同时value支持多种类型:字符串
(同memcached中的value),列表
,集合
(Set),有序集合
(OrderSet)和Hash
。所有的值类型均支持原子操作,如列表中追加弹出元素,集合中插入移除元素等。Rdids的数据 ...
Gearman
Gearman是一个通用的任务调度框架。
通过Gearman,多种编程语言,多台机器可以有机的结合,从而完成指定的任务。
其结构图如下:
黄色区域表示由Gearman提供的设施
蓝色区域表示由用户自己提供的部分
Gearman Job Server为核心的调度器,其管理Client(任务的调用者)和Worker(任务的执行者),负责任务的接收分发,以及将处理结果发送给Client。Job Server是任务的调度器,也是数据的中转者。
Gearman Client API及Gearman Worker API是由Gearman提供的各种语言版本的clie ...
今天ECUG V圆满结束了,不知不觉作为讲师已经参加过3次大会,实属荣幸。
同时ECUG
的含义也延伸为:E
ffective C
loud U
ser G
roup,虽然和Erlang的紧密贴合少了一些,但是还是预祝下界大会更好。
本届大会topic还是比较丰富的,尤其可贵的是多名外籍讲师的加入:mochimedia CTO Bob Ippolito 和 来自TheNetCircle.com的Videla Alvaro。他们的演讲很不错,可惜就是自己英文不是很好。还有最重要的一点,他们现在都在努力的招聘Erlang开发人员。这个我想是最大的进步。Erlang开发人员的需求已 ...
经常需要创建各种erlang app,这个过程一旦掌握,就很繁琐,因此写了这个小工具,用来生成
基于OTP的erlang app框架。其中包含了application, supervisor, gen_server, gen_fsm,makefile
还有一个ctl script.
仅仅需要一句话:
./gen-erl-app demo
会在当前目录下生成demo app
随后:
cd demo
make
./democtl live
赶紧试试吧!
http://github.com/litaocheng/gen-erl-app
最近几天因为需要,实现了一个redis erlang client。支持很多特性:connection pool,consistent hash,服务器分组等。
Redis简洁好用,有兴趣的朋友可以玩一把哦。
Update(2010.10.17):
1.0版本中connection pool,和consistent hash都已经去除,目的是为了提供一个简洁纯粹的Erlang Redis Client Library,同时也是为了等待Redis Cluster。用户可以自己创建一个connection pool,具体请参考README。
地址:
http://git ...
因为工作及时间关系,最近比较忙碌,没有太多的时间写文章。
咱Erlang社区也略显冷清,童鞋们赶紧活动起来多说说关于Erlang的事儿 :)
这不也2010年了,回首一下咱和Erlang的那些事...
从开始到现在,用Erlang参与项目如下(包括玩具项目和工作相关的项目):
erlkad (2008.5) - kademila DHT lib
e2dynamo(2009.9) - amazon dynamo clone
elogger (2009.5) - logger server,收集log,打包,存储.基于erlang message
adsen ...
从ecug归来,感觉不错,大家学习探讨的积极性很高哦。
很高兴,见到了那么多好朋友!
附件是我的slides,讲述如何开发一个简单的erlang app,在google code上有对应的代码。
各位有兴趣,可以看看哦。
说明,最近比较忙,没有太多时间更新blog,请各位朋友谅解.
寻找俺的朋友,可以gtalk : litaocheng[at]gmail.com 或者 twitter : @litaocheng
这篇文章,应该是我写的最久的一篇,请各位多实践.
reltool使用指南
Author:
litaocheng
Mail:
litaocheng@gmail.com
Revision:
1
Date:
2009.10.28
目录
1 概述
1.1 适用范围和目的
1.2 了解更多内容
2 ...
好久不写blog了,看到yufeng老大那么活跃,我也“耐不住寂寞”啊。
前不久写一个小东西,其中涉及很多定时执行的任务,如数据清理,数据导入,定时计算等等。
涉及到这个东西,就想起了linux下的cron,多么贴身的服务啊。
但是在我的erlang代码里,却缺少这样一个东西。没有关系,自己动手!
首先是crontab.cfg配置文件,其语法与linux下的crontab一致,可以 man crontab 进行参考。
但是许要注意,我们使用Erlang Term的语法定义每条任务:
{{m, h, dom, mon, dow}, {M, F, A}}.
m, h, dom , ...
前阵子erlang-china关于erlang该不该具有静态特性讨论的如火如荼,期间抛出了一个在erlang开发中迟早会遇到的问题:在一个拥有成千上万并发process的系统中,某些process具有举足轻重的位置,如其记录log信息,提供某个核心查询功 ...