摘要:
操作系统是Ubuntu Server 12.10先安装Thriftsudo apt-get install libboost-dev libboost-test-dev \ libboost-program-options-dev libevent-dev automake \ libtool fl... 阅读全文
摘要:
备份备份软件Amanda-客户端-服务器模型备份工具Bacula-另一个客户端-服务器模型备份工具Backupninja-轻量级,可扩展的元数据备份系统Backuppc-客户端-服务器模型备份工具和文件共享方案。Burp-网络备份和还原程序Duplicity-使用rsync算法加密的带宽-效率备份L... 阅读全文
摘要:
部署mongodb的生产服务器,给出如下相关建议:使用虚拟化环境;系统配置 1)推荐RAID配置RAID(Redundant Array of Independent Disk,独立磁盘冗余阵列)是一种可以让我们把多块磁盘当做单独一块磁盘来使用的技术。可使用它来提高磁盘的可靠性或者性能,或... 阅读全文
摘要:
为何需要水平分片1 减少单机请求数,将单机负载,提高总负载2 减少单机的存储空间,提高总存空间。下图一目了然:mongodb sharding 服务器架构简单注解:1 mongos 路由进程, 应用程序接入mongos再查询到具体分片。2 config server 路由表服务。 每一台都具有全部c... 阅读全文
摘要:
偶尔一个机会,了解了下zeroMQ消息队列。1ZeroMQ概述ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。ZeroMQ是网络通信中新的一层,介于应用层和传输层之间(按照TCP/IP划分),其是一个可伸缩层,可并... 阅读全文
摘要:
AVOS Cloud目前还在用Ejabberd做Android的消息推送服务。当时选择Ejabberd,是因为Ejabberd是一个发展很长时间的XMPP实现,并且基于Erlang,设想能在我们自主研发的Push Server起来之间顶上一段时间。我们自主研发的Push Server预计本月中旬就上... 阅读全文
摘要:
现在我们看看UDP协议(User Datagram Protocol,用户数据报协议)。使用UDP,互联网上的机器之间可以互相发送小段的数据,叫做数据报。UDP数据报是不可靠的,这意味着如果客户端发送一系列的UDP数据报到服务器,收到的数据报顺序可能是错误的。不过收到的数据报肯定是正确的。大的数据报... 阅读全文
摘要:
摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题... 阅读全文
摘要:
我曾在淘宝写过一段时间代码,2012 年在一家百强民企做电商副总,当时在极为艰苦的条件下带队开发了一个 B2C 网站,走支付宝和银联支付通道,年营业额千万级(当然实在太少了,我只是说这个网站投入了实际的运营)。 也就在那个时候,我对 12306 嗤之以鼻,觉得他们做得太烂了,认为自己能带队花几百万... 阅读全文
摘要:
功能说明: erlang中对各种语言的编码支持不足,此代码是使用erlang驱动了著名的iconv编码库来对字符进行编码转换处理。 文件说明: iconv_erl.c和iconv.h 是erlang字符编码模块的driver,作用是对iconv进行封装。编译后生成iconv_erl.dll,供ico 阅读全文
摘要:
每次调用会更新进程字典里的random_seed变量,这样在同一个进程内每次调用random:uniform()时,随机数种子都不同,所以生成的随机数都不一样(调用完random:uniform()后,可以用get(random_seed)查看更新后的种子值)。但是如果是不同的进程分别调用ran... 阅读全文
摘要:
问题提出:服务器100万人在线,16G内存快被吃光。玩家进程占用内存偏高解决方法:第一步:erlang:system_info(process_count). 查看进程数目是否正常,是否超过了erlang虚拟机的最大进程数。第二步:查看节点的内存瓶颈所在地方> erlang:memory().[... 阅读全文
摘要:
例:有这么一个列表,A = [["abc","bds",3],["ssdss","dddx",2],["sfa","ww",4],["wad","ffx",0]].需求为:对最后一位取出列表中的最大值。处理它的基本思想为:截取、遍历、取最大值。这里有个listA,每个list中有N个元素,这个为3个... 阅读全文
摘要:
在源文件的目录下,对其进行cp操作,到后面的目标路径,对其进行文件夹复制cp -rf /home/wangshiming/Downloads/* /home/wangshiming/tools 阅读全文
摘要:
tsung是erlang的一个开源的一个压力测试工具,可以测试包括HTTP, WebDAV, Mysql, PostgreSQL, LDAP, and XMPP/Jabber等服务器。针对 HTTP 测试,Tsung 支持 HTTP 1.0/1.1 ,包含一个代理模式的会话记录、支持 GE... 阅读全文