自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Zookeeper系列(2)--2PC、3PC及其应用

在上一篇中,我们介绍了为什么使用分布式,为什么会出现分布式数据一致性问题,以及相关分布式理论:CAP/BASE理论,这些是我们进行后边介绍的分布式一致性算法的基础,正是由于在系统的可用性和数据一致性之间反复的权衡,于是出现了一系列的一致性协议,如2PC,3PC,paxos算法等。本篇就介绍两个最常见的分布式一致性算法:两阶段提交(2PC),三阶段提交(3PC)以及它们的相关应用。其实我觉得这些

2018-01-31 17:04:40 11550 5

原创 Zookeeper系列(1)--分布式一致性理论,CAP,BASE理论

Zookeeper系列,会从分布式一致性理论开始介绍,设计诸如:CAP,BASE理论,分布式一致性算法:2PC,3PC,Paxos,ZAB以及Zookeeper的节点特性,Zookeeper如何保证一致性及高可用,最后会介绍zk的各种应用。关于数据的一致性,我们在数据库中有了解过,因为数据库事务的ACID特性的C就代表一致性,这ACIC可以简单的把一致性理解为正确性或者完整性,那么数据一致性通

2018-01-30 22:20:26 9826 5

原创 Redis 原理及应用(4)--Redis应用场景分析

来到了Redis系列的最后一篇,在前三篇中,介绍了Redis的数据类型及底层实现,持久化,集群分区,事务,缓存淘汰策略,HA哨兵机制等内容,其实关于Redis最重要的是其应用场景,只有知道Redis在什么场景下使用才是第一步。在这篇文章中,我们就来讨论一下Redis典型的应用场景。缓存提到redis,我们第一想到的应用场景肯定是缓存,因为redis是基于内存的数据库,具有很强大的读写性能。

2018-01-30 18:38:01 3166

原创 Redis 原理及应用(3)--内存淘汰机制、主从同步原理,HA策略(哨兵机制)分析

在前两篇,我们学习了一下Redis的相关数据类型、底层实现、持久化、集群分区等知识,这一篇我们重点搞懂一下Redis的内存淘汰机制,用于容错的哨兵机制以及非常重要的应用场景。Redis内存淘汰机制   Redis是内存数据库,我们能时时刻刻能感受到Redis作者为更好地使用内存而费尽各种心思,例如最明显的是对于同一种数据结构在不同应用场景下提供了基于不同底层编码的实现(如压缩列表、跳跃表等

2018-01-30 15:40:32 2343

原创 Redis 原理及应用(2)--持久化方式、集群管理、事务及与Memcached的对比

在上一篇文章中,主要学习了一下Redis的5种数据结构的底层实现原理,在这一篇中,将介绍Redis的持久化方式,与Memcached的区别,Redis3.0的集群部署以及广泛的应用场景。Redis持久化方式redis默认创建16个数据库,通过select语句可以切换数据库。我们知道,Redis是一个内存数据库,在内存中以K-V形式来存储数据,但是它可以配置持久化选项来进行持久化,这也是Re

2018-01-29 21:56:19 1064

原创 Redis 原理及应用(1)--数据类型及底层实现方式

Redis是一个key-value存储系统,现在在各种系统中的使用越来越多,大部分情况下是因为其高性能的特性,被当做缓存使用。Redis由于其丰富的数据结构也可以被应用到其他场景。Redis是一个K-V的非关系型数据库(NoSQL),常见的NoSQL数据库有:K-V数据库如Redis、Memcached,列式数据库如大数据组件HBase,文档数据库如mogoDB。Redis应用广泛,尤其是被作为缓

2018-01-29 19:50:41 13299 4

原创 IO复用模式--select、poll、epoll详解

IO模式,从大类上可以分为同步IO和异步IO,同步和异步的区别主要是针对IO事件的执行者,拿读数据来说,异步IO是内核等待内核缓存区数据就绪,然后由内核负责将数据拷贝到用户空间缓冲区,再发送实现完成信号,而同步IO是发送内核缓冲区数据就绪信号,将数据copy到用户缓冲区还是由应用程序进行io系统调用实现。同步IO又包括阻塞IO、非阻塞IO、IO多路复用和信号IO模式。其中,IO复用是现在实现高性能

2018-01-29 11:33:49 1231

原创 数据结构及算法练习--树相关

上一章写了总结了一些链表的算法操作,另外,在实际中树尤其是二叉树的操作也是很重要的,接下来再总结一下。类名后边的数字是剑指offer书上的题号,题目都是在牛客网上AC的,但是它们的那个平台的方法入口名有些不规范。判断是否是二叉搜索树的后序遍历/** * 题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。

2018-01-27 19:09:42 327

原创 数据结构及算法练习--链表相关

最近用Java写了一些算法题,在这里分类总结一下,主要是剑指offer上的,下边就直接给相关代码实现,不多做解释了,可以直接看代码读懂。类名后边的数字是剑指offer书上的题号,题目都是在牛客网上AC的,但是它们的那个平台的方法入口名有些不规范删除链表中重复的结点/* public class ListNode { int val; ListNode next =

2018-01-27 18:43:19 346

原创 一致性哈希算法

一直性Hash算法在很多场景下都有应用,尤其是在分布式缓存系统中,经常用其来进行缓存的访问的负载均衡,比如:redis等非关系数据库作为缓存系统。我们首先来看一下采用取模方式进行缓存的问题。一致性Hash算法的使用场景   假设我们的将10台redis部署为我们的缓存系统,存储数据,存储方式是:hash(k)%10,用来将数据分散到各个redis存储系统中。这样做,最大的问题就在于:如果此

2018-01-25 21:46:39 4804 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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