自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 饿了么多活利器:实时双向复制工具(DRC)

DRC介绍 饿了么的 Data Replicate Center(DRC)项目用于数据双向复制和数据订阅,使用场景如下图: 要点说明: 跨机房的 Mysql 数据复制完全通过 DRC 来完成 还有很多业务团队通过 DRC 来实现数据订阅 目前饿了么100%的跨机房数据复...

2019-01-08 00:32:56 645 0

原创 JVM调优总结

目录 数据类型堆与栈Java对象的大小引用类型按照基本回收策略分按分区对待的方式分按系统线程分如何区分垃圾如何处理碎片如何解决同时存在的对象创建和对象回收问题为什么要分代如何分代什么情况下触发垃圾回收分代垃圾回收流程示意选择合适的垃圾收集算法小结回收器选择辅助信息常见配置汇总调优总结垃圾回收的瓶...

2018-11-23 16:52:07 230 0

原创 饿了么异地双活数据库实战

本文根据 GOPS2017·上海站演讲《饿了么异地双活数据库实战》整理发布 作者简介: 虢国飞,饿了么 DBA负责人 从事数据库行业10+年,专注于MySQL、PgSQL、MSSQL等数据库领域的管理、研究和平台的研发等工作,目前负责饿了么数据库团队的管理和数据库维护方面的工作。 我今天分...

2018-11-22 20:47:15 659 2

原创 饿了么异地多活实现思路

饿了么技术团队花了1年多的时间,实现了业务的整体异地多活,能够灵活的在多个异地机房之间调度用户,实现了自由扩容和多机房容灾的目标。本文介绍这个项目的整体结构,还简要介绍实现多活的5大核心基础组件,为读者建立基本的概念模型,后续会有系列文章陆续介绍每个组件的实现细节。读者能够从中了解到做异地多活的大...

2018-11-22 20:21:58 904 0

原创 饿了么多活高可用思想

饿了么业务快速发展,给技术带来了海量请求和高并发、微服务的挑战,同时开发团队快节奏的版本迭代和服务快速上线的要求也驱动运维团队提供稳定、高效的运维服务。 2017 年 12 月 01 日-02 日,由 51CTO 主办的 WOTD 全球软件开发技术峰会在深圳中州万豪酒店隆重举行。 饿了么技...

2018-11-22 20:08:42 476 0

原创 Mac运行Windows上的应用程序-以PowerDesigner为例

随着时代的变化,现在的很多后端开发都开始使用Mac作为第一生产工具。但是这就出现了一个很尴尬的问题,以前我们习惯用的Windows上很多的软件都没有Mac版本。要么我们为了用这些软件而使用两台电脑或者装双系统、要么只能勉强使用Mac版的工具。所以本篇博客主要解决的就是这个痛点,无需安装双系统。很快...

2018-11-16 15:08:31 1372 0

原创 Mac OS 终端利器 iTerm2

  之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了主题什么的,还是有些坑的,这边再记录下,以便后面查阅。 1. 安装 iTerm2 下...

2018-11-14 14:30:58 405 0

原创 JAVA内存模型详解

前几天,发了一篇文章,介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型,是这三个知识点当中最晦涩难懂的一个,而且涉及到很多背景知识和相关知识。 网上有很多关于Java内存模型的文章,在《深入理解Java虚拟...

2018-11-08 20:48:12 82 0

原创 深入理解Java中的volatile关键字

在Java内存模型详解中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。在前一篇文章中,我们也介绍了synchronized的用法及原理。本文,来...

2018-10-11 11:01:49 258 0

原创 编程字典-PHP学习线路图

PHP教程 PHP教程 PHP简介 PHP环境设置 PHP语法概述 PHP变量类型 PHP常量类型 PHP运算符类型 PHP 条件语句 PHP循环语句 PHP数组 PHP字符串操作 PHP Web概念 PHP的GET和POST方...

2018-10-09 16:35:55 6764 0

原创 Chrome自带恐龙小游戏的源码研究(一)

  目录 Chrome自带恐龙小游戏的源码研究(一)——绘制地面 Chrome自带恐龙小游戏的源码研究(二)——绘制云朵 Chrome自带恐龙小游戏的源码研究(三)——昼夜交替 Chrome自带恐龙小游戏的源码研究(四)——绘制障碍物 Chrome自带恐龙小游戏的源码研究(五)——...

2018-09-12 11:29:16 10245 3

原创 EXPLAIN 命令详解

在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。可以帮助我们深入了解...

2018-09-07 17:48:12 135 0

原创 Mysql Find_IN_SET函数

今天在做项目时,看到了一个从没见过的MySQL函数——FIND_IN_SET(),顿时就产生了浓郁的兴趣,然后就搜了搜,翻了翻。 语法:FIND_IN_SET(str,strlist) 定义: 1. 假如字符串str在由N子链组成的字符串列表strlist中,则返回值的范围在1到N之间。 ...

2018-09-07 17:44:44 217 0

原创 一个很好的php分词类库-SCWS

    一位网友推荐了SCWS分词系统,看着挺不错,在这里记一下。         最近做实验,苦于php分词的问题,从网上找了很多,但都不行,导致试验结果不是很好,今天早晨抱着不放弃的努力,又试着重网上找开源的php分词词库,终于功夫不负有心人。 发现了一个很好的分词类库phpanalysi...

2018-09-06 17:39:55 320 0

原创 Navicat Premium Mac 12 破解

经博主亲测,非常好用。给大家分享。穷人利器啊~~~ 去百度上各种搜索,发现了很多不靠谱的下载地址,真是坑B,坑死我了,经过一遍一遍的尝试,终于找到了破解方法!!!!! 首先先声明一下,我特别痛恨那种骗人的网站,还口口声声说什么已破解。我要的是最新版,他标题是最新版,实际上却是老版本,反正各种骗...

2018-09-04 16:54:22 2766 2

原创 4种事务的隔离级别,InnoDB如何巧妙实现?

事务ACID特性,其中I代表隔离性(Isolation)。   什么是事务的隔离性? 隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。   一个事务怎么会干扰其他事务呢? 咱们举例子来说明,假设有InnoDB表: ...

2018-08-30 18:49:00 124 0

原创 缓存架构,一篇足够?

缓存是互联网系统架构中必不可少的一环,近一个月,写了一些缓存的文字。1.《进程内缓存究竟怎么玩?》 缓存,可以分为:进程内缓存,缓存集群。文章介绍了: (1)什么是进程内缓存 (2)进程内缓存的优缺点 (3)进程内缓存保存一致性的3种方案 (4)到底什么时候用进程内缓存 文章也说明,大部分情况下,...

2018-08-29 17:37:23 268 0

原创 选redis还是memcache,源码怎么说?

memcache和redis是互联网分层架构中,最常用的KV缓存。不少同学在选型的时候会纠结,到底是选择memcache还是redis。 画外音:不鼓励粗暴的实践,例如“memcache提供的功能是redis提供的功能的子集,不用想太多,选redis准没错”。   虽然redis比memca...

2018-08-29 17:22:12 368 0

原创 MySql表、索引设计参考规范

一、基础规范 表存储引擎必须使用InnoDB   表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它   禁止使用存储过程,视图,触发...

2018-08-29 16:27:15 2549 0

原创 InnoDB,5项最佳实践,知其所以然?

第一篇,说说MySQL两个最常用的存储引擎,MyISAM和InnoDB。照自己的理解,把一些知识点总结出来,不只说知识点,多讲“为什么”。一、关于count(*)知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。   潜台词是,对于select count(*) from...

2018-08-29 16:11:37 99 0

原创 1分钟了解MyISAM与InnoDB的索引差异

《数据库索引,到底是什么做的?》介绍了B+树,它是一种非常适合用来做数据库索引的数据结构: (1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读; (2)很低的树高度,能够存储大量数据; (3)索引本身占用的内存很小; (4)能够很好的支持单点查询,范围查询,有序性查询;   数据库...

2018-08-29 11:03:33 511 0

原创 数据库索引,到底是什么做的?

近期写数据库,不少朋友留言问MySQL索引底层的实现,今天简单聊一聊,少讲“是怎么样”,更多说说“为什么设计成这样”。   问题1. 数据库为什么要设计索引?   图书馆存了1000W本图书,要从中找到《架构师之路》,一本本查,要查到什么时候去? 于是,图书管理员设计了一套规则: (1...

2018-08-29 10:40:13 804 0

原创 如何解决高并发,秒杀问题

相信不少人会被这个问题困扰,分享大家一篇这样的文章,希望能够帮到你!   一、秒杀业务为什么难做? 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息); 2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据; 3)秒杀系统,库存只有一份,所有人会在集中...

2018-08-28 19:16:59 9346 0

原创 zookeeper的应用和原理

场景一 有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文)。用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了...

2018-08-28 18:56:03 97 0

原创 MySQL 5.7新特性:并行复制原理(MTS)

众所周知,MySQL的复制延迟是一直被诟病的问题之一,在MySQL 5.7版本已经支持“真正”的并行复制功能,官方称为为enhanced multi-threaded slave(简称MTS),因此复制延迟问题已经得到了极大的改进。总之,MySQL 5.7版本后,复制延迟问题永不存在。 一、My...

2018-08-27 19:17:33 6328 5

原创 在PHP中怎么接收post过来的JSON数据(转)

要在PHP中整体接收POST数据,有两种方法。 注意,要使用以下两种方法,Content-Type不能为multipart/form-data。 方法一: 使用: 1 file_get_contents('php://input') ...

2018-07-20 15:04:35 19489 0

原创 参数化查询为什么能够防止SQL注入

很多人都知道SQL注入,也知道SQL参数化查询可以防止SQL注入,可为什么能防止注入却并不是很多人都知道的。 本文主要讲述的是这个问题,也许你在部分文章中看到过这块内容,当然了看看也无妨。   首先:我们要了解SQL收到一个指令后所做的事情: 具体细节可以查看文章:Sql Server 编...

2018-07-19 16:13:19 3226 0

原创 通过UDF使mysql主动刷新redis缓存

DF是mysql的一个拓展接口,UDF(Userdefined function)用户自定义函数。在什么地方使用这个功能呢,试想有如下场景: 你的网站使用mysql作为最终数据落地的存储引擎,而redis作为缓存以减小查询请求穿透到mysql的数量,可以极大的降低数据库性能瓶颈带来的整个网站对外...

2018-07-19 15:37:01 121 0

原创 HTTP 头部信息详解

HTTP 头部解释    1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。  2. Accept-Charset: 浏览器申明自己接收的字符集  Accept-Encoding: 浏览器申明自...

2018-07-19 15:13:49 183 0

原创 深入解析Mysql 主从同步延迟原理及解决方案

MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。相信大家对于这些好处已经非常了解了,在项目的部署中也采用这种方案。但是MySQL的...

2018-07-16 11:46:44 216 0

原创 服务器常见错误代码500、501、502、503、504、505

一:500错误 1、500 Internal Server Error 内部服务错误:顾名思义500错误一般是服务器遇到意外情况,而无法完成请求。 2、500出错的可能性:   a、编程语言语法错误,web脚本错误   b、并发高时,因为系统资源限制,而不能打开过多的文件 3、一般解决思...

2018-07-16 11:38:10 1159 0

原创 设计----【分库、分表】分库分表的基本思想

本文来自:http://www.cnblogs.com/sunny3096/p/8595783.html一、基本思想Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用...

2018-07-13 16:38:58 155 0

原创 五大常见的MySQL高可用方案

本文来自:https://zhuanlan.zhihu.com/p/259602081. 概述我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面:如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。用作备份、只读...

2018-07-13 16:12:53 335 0

原创 MySQL高可用之MHA的搭建

MySQL MHA架构介绍:MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MyS...

2018-07-12 17:37:38 236 0

原创 MySQL锁机制及优化

MySQL锁定机制简介MySQL锁定机制简介前言MySQL锁定机制简介行级锁表级锁页级锁表级锁定读锁定写锁定行级锁定Innodb锁定模式及其实现机制Innodb与Mysql锁实现机制的区别Innodb事务隔离级别下的锁定及死锁Innodb锁定机制示例行锁定演示无索引升级为表锁定间隙锁带来的插入问题...

2018-07-12 17:11:47 1112 1

原创 HTTP协议

HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默...

2018-07-12 16:02:48 76 0

原创 MySQL学习之——锁(行锁、表锁、页锁、乐观锁、悲观锁等)-转

锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或县城并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,...

2018-07-12 15:15:11 157 0

原创 高可用架构(转)

一、可用性度量与考核  首先,不得不说:要保证一个网站永远完全可用几乎是一件不可能完成的任务(Mission Impossible,是不是有点碟中谍的感觉)。   (1)如何度量网站可用性?  一个神奇的数字—9!你有几个9,就代表了你的可用性。例如QQ可用性达到了4个9:99.99%  ①2个9...

2018-06-22 17:51:49 6873 0

原创 大网站架构

此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索、用户登录、实时价格、实时库存、服务支持、广告语等这种非Web页面,而是在Web页面中异步加载的相关数据。这些服务有个特点即访问量巨大、逻辑比较单一;但是如实时库存逻辑其实是非常复杂的。在京东这些服务每天有几亿十几亿的访问量,比如实时库...

2018-06-22 17:12:51 86 0

原创 电商网站商品详情架构

本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格、库存、服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后拼装网页模板的。http://item.jd.com/1217499.html 如图所示,商品页主...

2018-06-22 17:10:18 2004 0

提示
确定要删除当前文章?
取消 删除