end's coding life

赤子之心

Mysql事务隔离级别与锁

数据库的事务有几种特性,例如一致性和隔离性,一般通过加锁来实现。同时数据库又是一个高并发的应用,如果加锁过度或者不当将严重影响性能。数据库提供了几种隔离级别来供选择,本文通过解析InnoDB的加锁机制是如何实现几种隔离级别,来更深刻的理解mysql的锁。    两阶段锁     首先,...

2016-05-29 12:49:31

阅读数:3343

评论数:0

Innodb中的事务隔离级别和锁的关系

前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中Inno...

2016-05-29 12:48:24

阅读数:8475

评论数:0

REPEATABLE-READ事务隔离级别 && 间隙锁

表结构 create table t(  name varchar(255) primary key,  id int not null,  key idx_id (id) ); insert into t(name,id) values ('a',15), ('b',10),('c',6),(...

2016-05-27 17:49:53

阅读数:570

评论数:0

MySQL_REPEATABLE-READ事务隔离级别 && 幻读

表结构 create table t1(     a int primary key,     b int not null     ) REPEATABLE-READ可重复读(一) 这里打开两个mysql的命令行窗口,窗口A,即session1,窗口B,即sessi...

2016-05-27 17:25:26

阅读数:941

评论数:0

InnoDB存储引擎MVCC的工作原理

InnoDB存储引擎的行结构 MySQL官方手册https://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.html Internally, InnoDB adds three fields to each r...

2016-05-27 17:20:25

阅读数:846

评论数:0

google可用host5月27日

127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost # Modified hosts start 104.25.26.25 share.dmhy...

2016-05-27 11:36:43

阅读数:1186

评论数:0

MySQL 加锁处理分析

背景   MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运...

2016-05-27 11:30:01

阅读数:7095

评论数:1

Mysql优化相关总结

优化顺序: 选择适当的引擎和表结构和数据类型建立索引,优化sql。增加缓存,redis、memcache。主从、主主,读写分离。mysql自带分区表根据业务耦合垂直拆分,分布式数据库水平拆分,选择合理的sharding key。 引擎区别与选择: Innodb采用...

2016-05-27 09:14:32

阅读数:7625

评论数:0

一次CMS GC问题排查过程(理解原理+读懂GC日志)

这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下。这篇文章分三部分: 1、问题的场景和处理过程;2、GC的一些理论东西;3、看懂GC的日志 先说一下问题吧 问题场景:线上机器在半夜会推送一个700M左右的数据,这个时候有个数据置换的过程,也就是说有...

2016-05-16 12:04:36

阅读数:1518

评论数:0

阻塞、非阻塞和同步、异步的讨论

一、概念 异步:某个事情需要10s完成。而我只需要调用某个函数告诉xxx来帮我做(然后我再干其他的事情) 同步:某个事情需要10s完成,我需要一直等它完成(等10s),再能继续后面的工作。 阻塞:做某件事情,直到完成,除非超时 非阻塞:尝试做,如果不能做,就不做(直接返回),如果能做,...

2016-05-16 11:35:40

阅读数:336

评论数:0

Dubbo架构设计

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provide...

2016-05-16 10:31:14

阅读数:466

评论数:0

为什么kafka使用磁盘而不是内存

Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。 而且Linux对于磁盘的读写优化也比较多,包括read-ahead和write-behind...

2016-05-13 10:07:26

阅读数:2785

评论数:0

Memcached实现机制

Memcached一般被用于高并发场景下,数据库前的缓存层,用以缓解数据库的读取压力,提高应用速度和可扩展性。     特点: 协议简单,基于简单的文本行协议基于libevent的事件处理,使其在linux上能发挥高性能内存机制,所有数据仅存储在内存中,一旦重启则全部失效,容量达到一定阈值...

2016-05-12 16:48:51

阅读数:1056

评论数:0

Kafka的NIO通信机制

一、Kafka通信机制的整体结构 74EACA88-8B9D-45F8-B7BF-202D658205A9.png 这个图采用的就是我们之前提到的SEDA多线程模型,链接如下: http://www.jianshu.com/p/e184fdc0ade4 1、对于broker来说,客户端连接数...

2016-05-11 10:05:51

阅读数:3028

评论数:0

EDA事件驱动架构

事件代表过去发生的事件,事件既是技术架构概念,也是业务概念。以事件为驱动的编程模型称为事件驱动架构EDA。   EDA是一种以事件为媒介,实现组件或服务之间最大松耦合的方式。传统面向接口编程是以接口为媒介,实现调用接口者和接口实现者之间的解耦,但是这种解耦程度不是很高,如果接口发生变化,双方...

2016-05-10 18:28:15

阅读数:1947

评论数:0

Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告

摘要   本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka的性能测试报告。 性能测试及集群监控工具   Kafka提供了非常多有用的工具,如Ka...

2016-05-10 17:40:58

阅读数:1781

评论数:0

Kafka设计解析(四)- Kafka Consumer设计解析

摘要   本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以及适用场景。以及未来版本中对High Level Consumer的重新设计–使用Consumer...

2016-05-10 17:40:33

阅读数:1595

评论数:0

Kafka设计解析(三)- Kafka High Availability (下)

摘要   本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover,Controller failover,Topic创建/删除,Broker启动,Follower从Leader fetch数据等详细处理过程。同时介绍了Kafka...

2016-05-10 17:39:58

阅读数:1367

评论数:0

Kafka设计解析(二)- Kafka High Availability (上)

摘要   Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务。若该Broker永远不能再恢复,亦或磁盘故障,则其上数据将丢失。而Kafka的设计目标之一即是提供数据持久化,同时对...

2016-05-10 17:39:23

阅读数:1157

评论数:0

Kafka设计解析(一)- Kafka背景及架构介绍

摘要   Kafka是由LinkedIn开发并开源的分布式消息系统,因其分布式及高吞吐率而被广泛使用,现已与Cloudera Hadoop,Apache Storm,Apache Spark集成。本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比。并介绍了...

2016-05-10 17:38:34

阅读数:1245

评论数:0

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