摘要: 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。它指的是对数据 阅读全文
posted @ 2018-03-04 21:21 Kaffee 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 第一范式(1NF) 所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个 阅读全文
posted @ 2018-03-04 20:42 Kaffee 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的 阅读全文
posted @ 2018-03-04 20:40 Kaffee 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 摘要: 本文主要介绍ConcurrentHashMap以及ConcurrentHashMap的内部实现 曾经在 [高并发Java 五] JDK并发包1 中提到过ConcurrentHashMap,只是简单的提到了下ConcurrentHashMap的优点,以及大概的实现原理。 而本文则重点介绍Con 阅读全文
posted @ 2018-03-04 17:58 Kaffee 阅读(882) 评论(0) 推荐(0) 编辑
摘要: 参考资料: http://blog.csdn.net/flamezyg/article/details/44673951 http://www.blogjava.net/ldwblog/archive/2013/07/24/401919.html http://www.360doc.com/cont 阅读全文
posted @ 2018-03-04 17:49 Kaffee 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 一、微服务介绍 1. 什么是微服务 在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务 阅读全文
posted @ 2018-03-04 16:45 Kaffee 阅读(534) 评论(0) 推荐(0) 编辑
摘要: Zookeeper到底是什么!? 学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色。 然后看到官网那些专有名词,实在理解不了。 1 那么我们来仔细研究一下这个东西吧! Zookeeper能干嘛?! 阅读全文
posted @ 2018-03-01 22:00 Kaffee 阅读(209) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些 阅读全文
posted @ 2018-03-01 21:59 Kaffee 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 自从Lamport在1998年发表Paxos算法后,对Paxos的各种改进工作就从未停止,其中动作最大的莫过于2005年发表的Fast Paxos。无论何种改进,其重点依然是在消息延迟与性能、吞吐量之间作出各种权衡。为了容易地从概念上区分二者,称前者Classic Paxos,改进后的后者为Fast 阅读全文
posted @ 2018-03-01 21:54 Kaffee 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现 阅读全文
posted @ 2018-03-01 19:37 Kaffee 阅读(160) 评论(0) 推荐(0) 编辑