`
wenson
  • 浏览: 1041240 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
 前言 在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,dump完再导入很简单就处理好了,但线上的数据库都150G-200G, 如果用单纯的这种方法,成本太高,故经过一段时间的摸索,总结了几种处理方法。 生产环境架构图 目前现网的架构,保存着两份数据,通过异步复制做的高可用集群,两台机器提供对外服务。在发生故障时,切换到slave上,并将其变成 master,坏掉的机器反向同步新的master,在处理故障时,遇到最多的就是主从报错。下面是我收录下来的报错信息。 常见错误 最常见的3种情况 这3种情况是在HA切换时,由于是异步复制,且sync_binlog ...
MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场合。与之对应的另一个技术是同步的MySQL Cluster,但因为比较复杂,使用者较少。   下图是MySQL官方给出了使用Replication的场景: Replication原理   Mysql 的 Replication 是一个异步的复制过程,从一个MySQL节点(称之为Master)复制到另一个MySQL节点(称之Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三
child_process是Node.js的一个十分重要的模块,通过它可以实现创建多进程,以利用多核计算资源。 Node.js 0.8的child_process模块提供了四个创建子进程的函数,分别是spawn,exec,execFile和fork。其中spawn是最原始的创建子进程的函数,其他三个都是对spawn不同程度的封装。spawn只能运行指定的程序,参数需要在列表中给出,相当于
本文由网上资料及自己实践整理。   什么是Docker? docker的英文本意是码头工人,也就是搬运工,这种搬运工搬运的是集装箱(Container),集装箱里面装的可不是商品货物,而是任意类型的App,Docker把App(叫Payload)装在Container内,通过Linux Container技术的包装将App变成一种标准化的、可移植的、自管理的组件,这种组件可以在你的latop上开发、调试、运行,最终非常方便和一致地运行在production环境下。 Docker的核心底层技术是LXC(Linux Container),Docker在其上面加了薄薄的一层,添加了许多有用 ...
先说说目前现状: 开发语言为java,数据库为mysql,大部分主要的表使用的是innodb引擎,数据库总大小为13G,最大的表member表大小为2G(有接近1000万条记录),另外有几个表的数据也都达到了几百万记录,甚至有1600多万记录的,不过这些表大小都只有几百MB,最大不超过1G,数据库已经运行了五年多,目前每天的数据增量大小在20MB左右; 需求: 1、查询统计每天每个年龄段的不同性别注册人数(如16-20岁的男会员注册数每天多少,女会员数多少,一共定义了8个年龄段);查询统计每个地区的注册会员数; 2、查询统计每天每小时每个年龄段的注册人数(登录人数、登录次数); 查询 ...
一:关于mysql表数据大小 我们知道mysql存储数据文件一般使用表空间存储 当mysql使用innodb存储引擎的时候,mysql使用表存储数据分为共享表空间和独享表空间两种方式 ·共享表空间:Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在。 所以其大小限制不再是文件大小的限制,而是其自身的限制  -->innodb官方显示表空间的最大限制为64TB ·独享表空间:每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了        在默认情况下,MySQL创建的MyISAM表允许的最大尺寸为 ...
在macosx下编译java文件,如果里面有中文输出,在terminal里会出现中文乱码。 以下为解决方案: 打开terminal,执行一下命令 vi ~/.bash_profile    输入:export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8    :wq保存退出   source ~/.bash_profile  //立即生效  
from:http://web.securityinnovation.com/appsec-weekly/blog/bid/72451/Define-a-Security-Policy Applies to Applications written using Servlets or JSP. What to Do Define a security policy for your application while applying the principle of least privilege. Restrict application execution to allow on ...
To see the OS-dependent characters used for formatting filenames (here, when running on Windows): assert File.separator == '\\' && File.separatorChar == '\\' as char //used for formatting file names assert File.pathSeparator == ';' && File.pathSeparatorChar == ';' as c ...
Ant真是太方便了,以前都没注意到它。功能很强大,能创建数据库,配置服务器,部署发布应用……只需要写好build.xml文件,剩下的就交给ant来“安装”你的WEB应用了。Appfuse的第一个ant命令是ant new,其任务是建立一个新命名的project,少不了会复制很多文件。build.xml中也有很多copy操作,为了搞清楚ant new到底干了些什么事,还是先把copy操作了解一下。看了会ant的DOCS,网上也找了些文章,发现copy这部分都是一带而过,讲得很浅,于是我就只有自己实验下,发现还有点收获。 ant版本为1.6.5。1. 拷贝单个文件到指定目录下。例:<copy ...
Javascript中call的使用自己感觉蛮纠结的,根据文档很好理解,其实很难确定你是否真正的理解。 call 方法应用于:Function 对象调用一个对象的一个方法,以另一个对象替换当前对象。call([thisObj[,arg1[, arg2[,   [,.argN]]]]])参数:thisO ...
在Win7 64下安装node的jquery,依赖jsdom,jsdom又依赖于contextify,而contextify又需要gyp来重新编译,安装过程中老是报错,所以放弃这种安装方式,直接找了一个win64下的二进制包: https://github.com/yuxiachai/nodeWinBinary 拷贝到node_modules下直接使用。  
  NodeJS中的Path对象,用于处理目录的对象,提高开发效率。 用NodeJS的Path命令,与使用Linux下的shell脚本命令相似。 引入path对象  Js代码   var path = require('path');   比较实用的方法: 格式化路径  path.normalize(p) 特点:将不符合规范的路径格式化,简化开发人员中处理各种复杂的路径判断 示例: 

node.js 文件操作

既然到了后台,只要你有权限就可以为所欲为了! 创建文件夹 //fs.js var fs = require('fs'); fs.mkdirSync('a', 0755); fs.mkdirSync('a/b', 0755); fs.mkdirSync('a/b/c', 0755);   那么它会在fs.js所在目录中创建一个a目录,a目录下再创建b目录,b目录下创建c目录。mkdirSync是一个同步方法,拥有三个参数,第一个是路径,第二个是目录权限,第三个是回调 但这样做有点不妥,如果指定目录已存在,就报错。如果要建立多级目录,一层层判定此目录是否存在,立即会陷入“回调地 ...
删除文件—— fs.unlink(path[,callback])或者fs.unlinkSync(path)     删除文件夹—— 方法1:使用递归 deleteFolderRecursive = function(path) {     var files = [];     if( fs.existsSync(path) ) {         files = fs.readdirSync(path);         files.forEach(function(file,index){             var curPath = path + " ...
Global site tag (gtag.js) - Google Analytics