Git-Flow 开发流程介绍 引言编写的目的-通过规范化的流程,使得产品、开发与测试等各个部门更高效的协同工作。-通过规范化的流程使得产品高效稳定运行。背景在多组员,多项目等环境进行协同工作时,如果没有统一规范、统一流程,则会导致额外的工作量,甚至会做无用功。所以要减少版本冲突,减轻不必要的工作,就需要规范化的工作流程。总则-统一使用Git作为版本控制的主要工具。-统一使用GitFlow流程管理控制...
Redis分布式锁的正确实现方式 前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的...
redis分布式锁详解 一、使用分布式锁要满足的几个条件:系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现) 共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL) 同步访问(即有很多个进程同事访问同一个共享资源。没有同步访问,谁管你资源竞争不竞争)二、应用的场景例子 管理后台的部署架构(多台tomcat服务器...
变态的静态资源缓存与更新 这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中。在我的印象中,facebook是这个领域的鼻祖,有兴趣、有梯子的同学可以去看看facebook的页面源代码,体会一下什么叫工程化。接下来,我想从原理展开讲述,多图,较长,希望能有耐心看完。让我们返璞归真,从原始的前端开发讲起。上图是一个“可爱”的index.html页...
Nginx Log日志统计分析常用命令 IP相关统计统计IP访问量(独立ip访问数量)awk '{print $1}' access.log | sort -n | uniq | wc -l查看某一时间段的IP访问量(4-5点)grep "07/Apr/2017:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l 查看访问最频繁的前100个I...
DNS中的七大资源记录介绍 在Microsoft产品系列中,ADDS是一个很出色的设计平台,说到AD,那么我们就不得不提起他的合作伙伴--DNS,相信大家都知道,DNS在AD中的重要地位,就如男人和女人一样,要想有所作为,他们2个就必须进行结合,缺少任何一方,这个社会也就失去了色彩!) DNS分为正向查找区域和反向查找区域,然后在分为,主要,辅助,存根区域,在这些区域里,又存在着很多的记录,今天,就让我们来看看这些记录:1,...
AWS - 手动创建VPC 公网,子网和NAT实例 情景 2 配置下表展示了此情景配置的主要组成部分。简单的说就是需要创建两个子网,公网(或者更传统的更准确的说法是DMZ网)里面是网页服务器和NAT服务器,都可以访问互联网,内网里面是数据库服务器,网页服务器需要从数据库上读取信息,数据库服务器只有通过NAT服务器才能访问互联网。配置向导1分钟就全都配完了,如果全手动操作,需要按顺序配置以下服务: VPC VPC下面...
ActiveMQ中Consumer特性详解与优化 前言 从本文中你可以了解到如下内容: 1) consumer端消息消费的模型,session的运作机制 2) 如果提升broker和consumer端消息消费的速率 3) selector,group,exclusive对消息消费的影响 4) 如何让Priority更好的运行,提高消息的顺序性 5) Slow Consumer的产生原因,以及如何调优。 ...
MySQL几个性能指标的经验数据 近期参加了一个DBA MySQL的分享,主要从MySQL的性能指标分析、同步及运维三个方面分享一些经验,其中,一些经验值还是值得记录下来的:对于一个MySQL实例,CRUD上限经验值如下:Query:3w/sInsert:2w/sUpdate:8000/sDelete:8000/s这几个值是一个经验值,即观察MySQL的性能报表,如果长时间超过这些值,说明就是不合理的,偶尔超过个人认为问题应该不大...
MySQL 数据库 性能监控 SHOW STATUS;FLUSH STATUS;查看当前连接数 SHOW STATUS LIKE 'Thread_%';Thread_cached:被缓存的线程的个数Thread_running:处于激活状态的线程的个数Thread_connected:当前连接的线程的个数Thread_created:总共被创建的线程的个数Thread cache hits Thread_connected =...
MySQL性能的五大配置参数(内存参数) 内存参数:存储引擎/共享日志缓冲区,缓冲区池 innodb_buffer_pool_sizeinnodb_additional_mem_pool_sizeinnodb_log_buffer_size服务器/共享查询调整缓存线程高速络缓存query_cachetable_cahcetable_definition_cache连接/会话排序缓冲区,读取缓冲区,临时表binlog_cache_sizer...
Mysql性能分析及优化 近期在完善好项目的基本功能后,逐步开始考虑数据库性能优化的问题。一个项目性能的好坏,不全依赖于sql,程序也占一部分,这里先从优化sql开始。下面看看sql基本的分析语句,部分是借鉴的,部分是自己写的,不对之处,欢迎指正。 mysql> show global status; 可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句: mysql> sh...
MySQL性能分析、及调优工具使用详解 本文汇总了MySQL DBA日常工作中用到的些工具,方便初学者,也便于自己查阅。先介绍下基础设施(CPU、IO、网络等)检查的工具:vmstat、sar(sysstat工具包)、mpstat、oprofile、nicstat、dstat、iotop、tsar、iostat 掌握几个即可,功能大同小异(个人常用的是 dstat、sar)。CPU: mpstat -P ALL 1 每隔1s显示...
ActiveMQ 性能数据 工作之余,公司想对ActiveMQ进行一番性能测试,测试环境: 硬盘:1T,5400 (效果不佳) 得出了一个异样的测试结果: 持久: 插入200000条JSON,共消耗:25.175 s平均:7944.389275074478 条/秒 插入200000条JSON,共消耗:34.47 s平均:5802.146794313896 条/秒 插入200000条JSON,共消耗:29.937 s数量:...
百万行mysql,count()函数的思考与总结 如果你的需要是统计总行数时,为什么要使用count(*),而避免使用指定具体的列名?count()函数里面的参数是列名的的时候,那么会计算这个字段有值项的次数。也就是,该字段没有值的项并不会进入计算范围(就是网上常说的值为null的项不纳入统计)很多地方都有类似表述:COUNT ( column ) counts all non-NULL occurences (or should … 计算所...
美团点评MySQL数据库高可用架构从MMM到MHA+Zebra以及MHA+Proxy的演进 本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新。同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我们的一些规划和展望。MMM在2015年之前,美团点评(点评侧)长期使用MMM(Master-Master replication manager for MySQL)做数据库高可用,积累了比较多的经验,也踩了不少坑,可以说MMM...
mysql 主从架构浅析 1.MySQL主从复制入门首先,我们看一个图:影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。 MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。 那么,MYSQL-A的变化,MYSQL-B也会变化,这样就是所谓的MYSQL的复...
Redis与MySQL的组合方案 方案由从易到难的顺序,但无论哪种方法,都需要保证的是Reids和MySQL的数据一致性。方案一:程序同时写Redis和MySQL读Redis方案二:程序写MySQL, 使用Gearman调用MySQL的UDF,完成对Redis的写读Redis参考 《利用Gearman进行Mysql到Redis的复制》方案三:程序写MySQL, 解析binlog,数据放入队列写Redis读Redis参考 《利用Ca...
分表分库-订单系统的垂直与水平sharding 背景原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况。去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速、异步队列等对其进行保护;业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求。随着这些问题越来越突出,订单数据库的切分就愈发急迫了。这次切分,我们的目标是未来十年内不需要...
Nginx负载均衡与反向代理—《亿级流量网站架构核心技术》 当我们的应用单实例不能支撑用户请求时,此时就需要扩容,从一台服务器扩容到两台、几十台、几百台。然而,用户访问时是通过如http://www.jd.com的方式访问,在请求时,浏览器首先会查询DNS服务器获取对应的IP,然后通过此IP访问对应的服务。 因此,一种方式是www.jd.com域名映射多个IP,但是,存在一个最简单的问题,假设某台服务器重启或者出现故障,DNS会有一定的缓存时间,故障...