`
michael8335
  • 浏览: 189486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
最近发现,Python代码会产生很多僵尸进程,之前未发现,自从使用urllib2模块发Http请求之后,便产生了大量僵尸进程,确定是由于urllib2产生, 原始代码如下: req=urllib2.Request(url) urllib2.urlopen(req) 最开始,想当然的任务,HTTP请求不是长连接,连接会自动释放,犯了大错,虽然http不是长连接,但是打开连接之后,一些资源还是需要自己关闭,后面将代码修改为: req=urllib2.Request(url) response = urllib2.urlopen(req) response.close() 结 ...
NOSQL has become a very heated topic for large web-scale deployment where scalability and semi-structured data driven the DB requirement towards NOSQL. There has been many NOSQL products evolving in over last couple years. In my past blogs, I have been covering the underlying distributed system th ...
一、MySQL复制概述   MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。每个从服务器从主服务器接收主服务器上已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时,它通知主服务器定位到从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,并在本机上执行相同的更新。然后封锁并等待主服务器通知新的更新。从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新。   ...
由于最近一段时间,学了一门脚本语言-Python,原因是一、公司需要;二、只掌握Java感觉还是不够。 由于需要用python分析日志,但是日志实际还没有,格式已经定了,所以我先用python写了个多线程写文件的工具,比较简单,作为 ...
source 命令是 bash shell 的内置命令,从 C Shell 而来。 source 命令的另一种写法是点符号,用法和 source 相同,从Bourne Shell而来。 source 命令可以强行让一个脚本去立即影响当前的环境。 source 命令会强制执行脚本中的全部命令,而忽略文件的权限。 source 命令通常用于重新执行刚修改的初始化文件,如 .bash_profile 和 .profile 等等。 source 命令可以影响执行脚本的父shell的环境,而 export 则只能影响其子shell的环境。 方法1: 让/etc/profile文件修改后立即生效 ,可以使 ...
Linux下面有个特性叫OOM killer(Out Of Memory killer),这个东西会在系统内存耗尽的情况下跳出来,选择性的干掉一些进程以求释放一些内存。相信广大从事Linux服务端编程的农民工兄弟们或多或少遇到过(人在江湖漂,哪有不挨刀啊)。典型的情况是:某天机器突然登不上了,能ping通,但是ssh死活连不了。原因是sshd进程被OOM killer干掉了(泪流满面)。重启机器后查看系统日志会发现血淋淋的Out of Memory: Killed process ×××、Out of Memory: Killed process 〇〇〇。一篇狼藉,惨不忍睹。 前段时间我就被OO ...
现在需要实现将两个远程数据库中的数据归并到第三个数据库中,需要实现远程数据不落地直接通过SQL归并到第三个数据库中,通过咨询,可以通过MySQL中的FEDERATED存储引擎实现这种需求。 MySQL中针对不同的功能需求提供了不同的存储引擎。所谓的存储引擎也就是MySQL下特定接口的具体实现。 FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。 但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要)。 通过这个引擎可以实现类似Oracle 下DBLIN ...
公司用三台机器搭建了一套双主主数据库服务器,三台服务器分别是3.31(3308),3.32(3306),3.33(3306、3308),其中3.33上安装了一个MySQL的双实例,它分别于另外两台服务器通过3306和3308端口实现互为主主架构,但是结果始终只能有一套能够正常工作,比如当33通过3308端口和31互为主主时,32上便不能正常工作,切33的3306端口也和31成了主主关系,感觉32和33之前断链了,检查各种配置文件,都没有发现任何问题,分析各台机器的日志文件,发现下面的问题: Master_log_File和Relay_Master_Log_File都应该是其主机的远程文件,Re ...
公司用三台机器搭建了一套双主主数据库服务器,三台服务器分别是3.31,3.32,3.33,其中3.33上安装了一个MySQL的双实例,它分别于另外两台服务器通过3306和3308端口实现互为主主架构,但是结果始终只能有一套能够正常工作,昨 ...
先说Paxos,它是一个基于消息传递的一致性算法,Leslie Lamport在1990年提出,近几年被广泛应用于分布式计算中,Google的Chubby,Apache的Zookeeper都是基于它的理论来实现的,Paxos还被认为是到目前为止唯一的分布式一致性算法,其它的 ...

paxos 实现

本文主要介绍zookeeper中zookeeper Server leader的选举,zookeeper在选举leader的时候采用了paxos算法(主要是fast paxos),这里主要介绍其中两种:LeaderElection 和FastLeaderElection. 我们先要清楚以下几点 •一个Server是如何知道其它的Server 在zookeeper中,一个zookeeper集群有多少个Server是固定,每个Server用于选举的IP和PORT都在配置文件中 •除了IP和PORT能标识一个Server外,还有没有别的方法 每一个Server都有一个数字编号,而且是 ...
Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一 SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。 服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保 ...
在软件设计中,估计模型是最简单的了,一般而言,我们的模型都指的是贫血模型,也就是DTO,正常而言,每个DTO都对应一张数据表,所以在设计模型的时候,大家都没有考虑过多,完全按照个人想法来搞,当然这种在一般情况 ...
OK,搞了一晚上,终于可以访问虚拟机里面,Linux的Tomcat了,大致方法如下,写完睡觉 一.下载JDK 1.登录Sun的JDK官方下载网址:http://java.sun.com/javase/downloads/index.jsp 2.下载jdk1.6.0_35-linux-i586-rpm.bin文件 二.安装JDK 1.增加jdk1.6.0_35-linux-i586-rpm.bin文件的可执行权限 #root> chmod 755 jdk-1_5_0_07-linux-i586-rpm.bin 2.执行jdk1.6.0_35-linux-i586-rpm.bin #roo ...
这篇文章也是我对StringBuffer的一点看法,若有不妥之处,还请大家指出 估计Java初学者都知道,String是不可变字符串,StringBuffer是可变字符串,之前我也是这样理解的,但是今天下午,发现了一个奇怪的现象,发现StringBuffer并非完全可变,所以我将之称为非完全可变字符串。 先看看下面这段 public static void main(String[] args) { String str = new String("Hello"); str.concat("World"); System.out.pr ...
Global site tag (gtag.js) - Google Analytics