08 2013 档案
摘要:MQ集群部署期待的部署架构其中,一个机房有两台机器部署MQ,并组成集群,有一个机房的MQ集群作为中心集群,其他机房的MQ集群将消息同步到中心MQ集群中。安装erlang,略。。安装rabbitMQ,略。。基本配置(NODENAME之类的,略)配置本地集群配置hosts同一机房集群的两台机器都要配置host,要保证可以通过hosts访问到同一机房的集群机器比如同一机房的两台机NODENAME=rabbit@111_100_222_217NODENAME=rabbit@111_100_222_218111_100_222_217为同ip对应的域名需要在这两台机上,配置/etc/hosts,增加配置
阅读全文
摘要:gevent是python的一个并发框架,采用协程实现并发目的,用起来也非常简单gevent的docs:http://www.gevent.org/contents.html一个最简单的例子:import geventimport gevent.monkeygevent.monkey.patch_all()def foo(i, a, b, c): print('Running in foo' + str(i) + ' ' + str(a) + str(b) + str(c)) gevent.sleep(0) print('Explicit context
阅读全文
摘要:目前,linux依旧使用syslogd作为日志监控进程,而在主流的linux发行版中依旧使用sysklog这个比较老的日志服务器套件。从前一篇日志可以看到,对其进行必要的配置能减少很多麻烦,并且可更有效的从系统日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说显得尤为重要。一、配置文件以红旗DC Server 5.0为例,默认的日志服务器就是sysklog套件:引用# rpm -qa|grep sysklogdsysklogd-1.4.1-26_EL其主要的配置文件有两个:引用/etc/sysconfig/syslog这里定义syslog服务启动时可加入的参数。引用/e
阅读全文
摘要:一、基础syslog-ng作为syslog的替代工具,可以完全替代syslog的服务,并且通过定义规则,实现更好的过滤功能。系统自带版本(我的是红旗,不同系统用不同的方式查询):引用# rpm -qa|grep syslog-ngsyslog-ng-1.6.7-1syslog官方网站:点击最新版本是2.0.5。为方便使用,暂以系统自带的版本1.6.7说明,以后再提供更新的rpm包。1、前提使用syslog-ng前,建议先详细了解syslog的概念。例如,什么是facitily(设备),level(等级)。可以参考这里:点击否则,后面的说明可能会有点不知所云的。2、使用若不增加其他设定,可通过下
阅读全文
摘要:1. 安装1. redis-pya. 使用easy_install1sudo easy_install redisb. 源码安装123git clone https://github.com/andymccurdy/redis-py.gitcd redis-pypython setup.py install2. Parser安装Parser可以控制如何解析redis响应的内容。redis-py包含两个Parser类,PythonParser和HiredisParser。默认,如果已经安装了hiredis模块,redis-py会使用HiredisParser,否则会使用PythonParser。
阅读全文
摘要:首先,什么是函数修饰符?函数修饰符就是对原有函数做一层包装。比如有以下两个函数:复制代码def func1():print 'I am function func1'def func2():print 'I am function func2'现在我们想为这两个函数增加一段共同的操作,这时就可以使用函数修饰符。首先我们定义一个修饰函数,先不做任何处理,仅仅打印一条横线:复制代码def de( f )defcall_():print '-------------------------------'return f()return _call_使用
阅读全文
摘要:Python用下划线作为变量前缀和后缀指定特殊变量。_xxx不能用'from module import *'导入__xxx__系统定义名字__xxx类中的私有变量名核心风格:避免用下划线作为变量名的开始。因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx来表示变量是很好的习惯。因为变量名__xxx__对Python来说有特殊含义,对于普通的变量应当避免这种命名风格。"单下划线"开始的成员变量叫做保护变量
阅读全文
摘要:当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。还是直接来代码吧,废话少说[python]def fun_var_args(farg, *args): print "arg:", farg for value in args: print "another arg:", valuefun_var_args(1, "two", 3) # *args可以当作可容纳多个变量组成的listresult:[python]arg: 1another arg: twoanother
阅读全文
摘要:python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去。 protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;1:老式的二进制协议;2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。proto...
阅读全文