02 2015 档案
Erlang process structure -- refc binary
摘要:Erlang 的process 是虚拟机层面的进程,每个Erlang process 都包括一个 pcb(process control block), 一个stack 以及私有heap .这部分的姿势, 在各种论文中都有提到. 网上也有各种各样的解读,包括但不仅限于:1,http://fengch... 阅读全文
posted @ 2015-02-24 21:03 _00 阅读(4116) 评论(0) 推荐(0)
Erlang pool management -- RabbitMQ worker_pool 2
摘要:上一篇已经分析了rpool 的三个module , 以及简单的物理关系. 这次主要分析用户进程和 worker_pool 进程还有worker_pool_worker 进程之间的调用关系. 在开始之前, 必须先明确一点, 就是一个worker_pool_worker 进程只有在处理完一个用户进程的任... 阅读全文
posted @ 2015-02-12 18:44 _00 阅读(1232) 评论(0) 推荐(0)
Erlang pool management -- RabbitMQ worker_pool
摘要:在RabbitMQ中,pool 是以worker_pool 的形式存在的, 其主要用途之一是对Mnesia transaction的操作. 而在RabbitMQ 中, pool 中的worker 数量是固定不变的, 是和虚拟机的schedulers 相关.这次会首先分别分析设计worker_pool... 阅读全文
posted @ 2015-02-11 23:50 _00 阅读(1561) 评论(0) 推荐(0)
Erlang pool management -- Emysql pool optimize
摘要:在上一篇关于Emysql pool (http://www.cnblogs.com/--00/p/4281938.html)的分析的最后提到现在的emysql_conn_mgr gen_server 进程属于单点,也就是所有的pool 的管理调度都是由一个进程来完成.如果在同一个Erlang nod... 阅读全文
posted @ 2015-02-10 21:02 _00 阅读(1418) 评论(3) 推荐(0)
Erlang pool management -- Emysql pool
摘要:从这篇开始,这一系列主要分析在开源社区中,Erlang 相关pool 的管理和使用.在开源社区,Emysql 是Erlang 较为受欢迎的一个MySQL 驱动. Emysql 对pool 的管理和使用是非常典型的,pool 的管理角色中,主要有available(记录当前pool 中可供使用的成员)... 阅读全文
posted @ 2015-02-09 17:45 _00 阅读(3299) 评论(0) 推荐(1)
Erlang generic standard behaviours -- summary
摘要:gen_server 相关的片段分析得也差不多了, 这篇作为一个简要的总结.这一系列相关的分析暂且告一段落(之后如有必要,还会回来的 ^^ ),下一个系列主要是以pool 相关, 包括但不仅限于开源项目pooler, poolboy, emysql 中的pool 的管理, rabbitmq-serv... 阅读全文
posted @ 2015-02-08 23:28 _00 阅读(490) 评论(0) 推荐(0)
Erlang generic standard behaviours -- gen_server system msg
摘要:这是Erlang generic standard behaviors gen_server 分析的系列的最后一篇,主要分析gen_server module 辅助性的功能函数.在gen_server 的MAIN loop 流程中,除了处理Parent 的'EXIT' 消息, user module... 阅读全文
posted @ 2015-02-07 22:37 _00 阅读(1238) 评论(0) 推荐(0)
Erlang generic standard behaviours -- gen_server noblock call
摘要:在Erlang 系统中,经常需要gen_server 进程来处理共享性的数据,也就是总希望一个gen_server 进程来为多个普通进程提供某种通用性的服务,这也是gen_server 设计的初衷.但是,由于公平调度的原因,在Erlang体系中,每个process 能获得的资源都是同等的:同等的CP... 阅读全文
posted @ 2015-02-06 18:48 _00 阅读(1187) 评论(0) 推荐(0)
Erlang generic standard behaviours -- gen_server hibernate
摘要:hibernate 主要用于在内存空闲时,通过整理进程的stack,回收进程的heap 来达到回收内存节省资源的效果.hibernate 可用于OTP 进程以及普通进程, hibernate 的官方文档 erlang:hibernate/3Puts the calling process into ... 阅读全文
posted @ 2015-02-05 14:31 _00 阅读(1177) 评论(0) 推荐(2)
Erlang generic standard behaviours -- gen_server terminate
摘要:gen_server 主体 module 已经分析完了(http://www.cnblogs.com/--00/p/4271982.html),接着,分析下gen_server 中的terminate .首先分析一个问题, 这个问题是之前在weibo 上和别人讨论过的一个问题:Why will a ... 阅读全文
posted @ 2015-02-04 15:45 _00 阅读(797) 评论(0) 推荐(0)
Erlang generic standard behaviours -- gen_server module
摘要:在分析完gen module (http://www.cnblogs.com/--00/p/4271386.html)之后,就可以开始进入gen_server 的主体module 了.gen_server 的主体 module 暂不涵括terminate, hibernate, debug trac... 阅读全文
posted @ 2015-02-04 12:46 _00 阅读(752) 评论(0) 推荐(2)
Erlang generic standard behaviours -- gen
摘要:在分析 gen_server (或者是gen_fsm )之前,首先应该弄明白,gen 这个module .1 -module(gen).2 -compile({inline,[get_node/1]}).3 4 %%%-----------------------------------------... 阅读全文
posted @ 2015-02-04 00:12 _00 阅读(735) 评论(0) 推荐(1)
开博 -- Erlang
摘要:接触Erlang有段时间了,之前一直懒得总结,发现很多东西都是散落各处,总想拾起,可又感觉像是流沙。 就从现在开始吧,慢慢总结起来,捡起来。 先计划写一些系列性的,比如说generic standard behaviours、beach的一些小东西、常用的一些开源工具、生产环境下虚拟机参数的调整、看 阅读全文
posted @ 2015-02-03 23:55 _00 阅读(476) 评论(1) 推荐(2)