摘要: AVOS Cloud目前还在用Ejabberd做Android的消息推送服务。当时选择Ejabberd,是因为Ejabberd是一个发展很长时间的XMPP实现,并且基于Erlang,设想能在我们自主研发的Push Server起来之间顶上一段时间。我们自主研发的Push Server预计本月中旬就上... 阅读全文
posted @ 2015-02-10 19:04 孤独信徒 阅读(1115) 评论(0) 推荐(0)
摘要: 现在我们看看UDP协议(User Datagram Protocol,用户数据报协议)。使用UDP,互联网上的机器之间可以互相发送小段的数据,叫做数据报。UDP数据报是不可靠的,这意味着如果客户端发送一系列的UDP数据报到服务器,收到的数据报顺序可能是错误的。不过收到的数据报肯定是正确的。大的数据报... 阅读全文
posted @ 2015-01-14 15:52 孤独信徒 阅读(1364) 评论(0) 推荐(0)
摘要: 摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题... 阅读全文
posted @ 2015-01-13 14:33 孤独信徒 阅读(248) 评论(0) 推荐(0)
摘要: 我曾在淘宝写过一段时间代码,2012 年在一家百强民企做电商副总,当时在极为艰苦的条件下带队开发了一个 B2C 网站,走支付宝和银联支付通道,年营业额千万级(当然实在太少了,我只是说这个网站投入了实际的运营)。 也就在那个时候,我对 12306 嗤之以鼻,觉得他们做得太烂了,认为自己能带队花几百万... 阅读全文
posted @ 2015-01-09 12:35 孤独信徒 阅读(651) 评论(3) 推荐(0)
摘要: 功能说明: erlang中对各种语言的编码支持不足,此代码是使用erlang驱动了著名的iconv编码库来对字符进行编码转换处理。 文件说明: iconv_erl.c和iconv.h 是erlang字符编码模块的driver,作用是对iconv进行封装。编译后生成iconv_erl.dll,供ico 阅读全文
posted @ 2015-01-05 19:48 孤独信徒 阅读(960) 评论(0) 推荐(0)
摘要: 每次调用会更新进程字典里的random_seed变量,这样在同一个进程内每次调用random:uniform()时,随机数种子都不同,所以生成的随机数都不一样(调用完random:uniform()后,可以用get(random_seed)查看更新后的种子值)。但是如果是不同的进程分别调用ran... 阅读全文
posted @ 2014-12-23 18:56 孤独信徒 阅读(3284) 评论(0) 推荐(0)
摘要: 问题提出:服务器100万人在线,16G内存快被吃光。玩家进程占用内存偏高解决方法:第一步:erlang:system_info(process_count). 查看进程数目是否正常,是否超过了erlang虚拟机的最大进程数。第二步:查看节点的内存瓶颈所在地方> erlang:memory().[... 阅读全文
posted @ 2014-12-17 18:20 孤独信徒 阅读(1809) 评论(0) 推荐(0)
摘要: 例:有这么一个列表,A = [["abc","bds",3],["ssdss","dddx",2],["sfa","ww",4],["wad","ffx",0]].需求为:对最后一位取出列表中的最大值。处理它的基本思想为:截取、遍历、取最大值。这里有个listA,每个list中有N个元素,这个为3个... 阅读全文
posted @ 2014-12-15 11:17 孤独信徒 阅读(579) 评论(0) 推荐(0)
摘要: 在源文件的目录下,对其进行cp操作,到后面的目标路径,对其进行文件夹复制cp -rf /home/wangshiming/Downloads/* /home/wangshiming/tools 阅读全文
posted @ 2014-12-04 21:08 孤独信徒 阅读(828) 评论(0) 推荐(0)
摘要: tsung是erlang的一个开源的一个压力测试工具,可以测试包括HTTP, WebDAV, Mysql, PostgreSQL, LDAP, and XMPP/Jabber等服务器。针对 HTTP 测试,Tsung 支持 HTTP 1.0/1.1 ,包含一个代理模式的会话记录、支持 GE... 阅读全文
posted @ 2014-12-01 18:45 孤独信徒 阅读(494) 评论(0) 推荐(0)
摘要: 转自:http://www.mongoing.com/archives/295 MongoDB的复制集具有自动容忍部分节点宕机的功能,在复制集出现问题时时,会触发选举相关的过程,完成主从节点自动切换.每个复制集成员都会在后台运行与复制集所有节点的心跳线程,在两种情况下会触发状态检测过程:复制集... 阅读全文
posted @ 2014-11-28 14:48 孤独信徒 阅读(513) 评论(0) 推荐(0)
摘要: ”mongo群友在群里问了个问题,问的是--quiet启动参数如何用的? 如何理解安静的输出?“ 看到这个问题,之前看过--quiet这个参数,没有认真研究过,也没在生产中使用过。 在mongodb启动时候,有个启动参数--quiet,在生产中没有用过,./mongo --help 看到对于... 阅读全文
posted @ 2014-11-26 18:45 孤独信徒 阅读(2458) 评论(0) 推荐(0)
摘要: 之前没发现mongoperf这个工具,测试IO的状态用的是iostat来进行观察。mongoperf , fileSizeMB:, sleepMicros:, mmf:, r:, w:, recSizeKB:, syncDelay:}具体文件见mongodb官网:http://docs... 阅读全文
posted @ 2014-11-24 17:41 孤独信徒 阅读(1407) 评论(1) 推荐(0)
摘要: 在mongodb的启动时,在数据目录下,会生成一个mongod.lock文件。如果在正常退出时,会清除这个mongod.lock文件,若要是异常退出,在下次启动的时候,会禁止启动,从而保留一份干净的一份副本数据。有人可能会想到删除这个文件,建议请不要这么做。如果这么做,我们也不知道数据文件是否... 阅读全文
posted @ 2014-11-21 16:05 孤独信徒 阅读(12758) 评论(0) 推荐(0)
摘要: timer作为其计时器: erlang的计时器timer是通过一个唯一的timer进程实现的,该进程是一个gen_server,用户通过timer:send_after和timer:apply_after在指定时间间隔后收到指定消息或执行某个函数,每个用户的计时器都是一条记录,保存在timer的et 阅读全文
posted @ 2014-11-13 17:37 孤独信徒 阅读(4845) 评论(0) 推荐(0)